egu*_*eys 1 javascript node.js gruntjs karma-runner gulp
gulp-karma建议像这样的外部配置文件:
module.exports = {
basePath: '',
singleRun: true
};
Run Code Online (Sandbox Code Playgroud)
我想要一个像这样的外部配置文件(grunt-karma样式):
module.exports = function(config) {
config.set({
basePath: '',
singleRun: true
});
};
Run Code Online (Sandbox Code Playgroud)
如何使用proper config filewith karma API.
我使用一饮而尽-卡玛,并提到 有,我要实现它在我自己的.
Karma API非常简单:
var server = require('karma').server;
server.start(config, done);
Run Code Online (Sandbox Code Playgroud)
config变量很模糊.它是一个配置的普通对象:
var config = {
basePath: '',
singleRun: true
// ...
}
Run Code Online (Sandbox Code Playgroud)
我们来看看grunt-karma:
示例grunt-karma配置:
karma: {
unit: {
configFile: 'karma.conf.js'
}
}
Run Code Online (Sandbox Code Playgroud)
grunt-karma配置可以采取一个configFile选项,这在任何地方都没有记录.
我可以看到,我可以configFile从karma源代码传递一个选项:
var config = cfg.parseConfig(cliOptions.configFile, cliOptions);
是否有提及configFile选项的Karma API文档,grunt-karma如何知道
使用它.
这个问题令人惊讶地相关,并且这些评论中的大多数都对本文末尾提出的实际问题轻描淡写:"grunt-karma如何知道使用带有属性的配置对象configFile.
我也一直想知道同样的事情,因为该属性未在karma配置文档中的任何位置列出.例如,如果我想通过我的gulpfile中的公共API运行我的业力测试.它看起来像这样:......
var karmaConfig = require('spec/karma.conf.js');
// where my config file exports an object with properties like exclude:, path:
karma.start(karmaConfig)}, process.exit);
Run Code Online (Sandbox Code Playgroud)
这样可以正常工作,除非我想导出配置功能,所以我可以使用配置常量(在此概述):
// allows me to do this
module.exports = function(config) {
config.set({
logLevel: config.LOG_INFO
});
}
Run Code Online (Sandbox Code Playgroud)
但除非你使用这样的东西,否则没有办法让它工作:
karma.start({configFile: 'spec/karma.conf.js'}, process.exit);
Run Code Online (Sandbox Code Playgroud)
我只是传入一个带有configFile指向实际配置文件的属性的对象.
Karma文档在任何地方都没有提到这一点(截至本评论),但这是使用config函数导出方法通过API完成运行测试的唯一方法.
| 归档时间: |
|
| 查看次数: |
1368 次 |
| 最近记录: |