Karma public api lacks configFile option
gulp-karma建议使用如下外部配置文件:
1 2 3 4
| module.exports = {
basePath: '',
singleRun: true
}; |
我想要一个这样的外部配置文件(grunt-karma样式):
1 2 3 4 5 6
| module.exports = function(config) {
config.set({
basePath: '',
singleRun: true
});
}; |
如何将proper config file与业力API一起使用。
细节:
我正在使用gulp-karma,并且如上所述
那里,
我必须自己实现。
业力API非常简单:
1 2
| var server = require('karma').server;
server.start(config, done); |
config变量含糊不清。这是一个具有以下配置的普通对象:
1 2 3 4 5
| var config = {
basePath: '',
singleRun: true
// ...
} |
让我们看看grunt-karma:
样本grunt-karma配置:
1 2 3 4 5
| karma: {
unit: {
configFile: 'karma.conf.js'
}
} |
grunt-karma配置可以采用configFile选项,该选项在任何地方都没有记录。
我可以看到,我可以从业力源代码中传递configFile选项:
var config = cfg.parseConfig(cliOptions.configFile, cliOptions);
是否有Karma API的文档提到configFile选项,grunt-karma如何知道
使用它。
- 请将标题更改为更具描述性且对Google搜索者有用的名称。
-
呃...您只想要Karma文档? (karma-runner.github.io/0.12/config/configuration-file.html)有点困惑...为什么不使用Google?
-
@CaseyFalk就像我没有看过...为什么不阅读详细信息?
-
@RoberyHarvey这是我能想到的最好的,您可以编辑更好的东西。
-
您的问题是:" [配置文件]的文档了吗?",我只是给您提供了指向该文档的链接。你的问题是什么?
-
@CaseyFalk它没有提到configFile选项,"是否有configFile选项的文档"。谢谢你的关注。
-
@CaseyFalk,我不是在抱怨业力配置文件文档,而是公共api文档。
-
那你能澄清一下你的问题吗?这很令人困惑,如果人们不努力理解您的问题,您将获得更多帮助。 :)
这个问题令人惊讶地相关,并且大多数评论使这篇文章结尾处提出的实际问题变得轻而易举:" grunt-karma如何知道如何使用具有configFile属性的配置对象。
我也一直想知道,同一属性没有在业力配置文档中的任何地方列出。例如,如果我想通过gulpfile中的公共API运行我的业力测试。它看起来像这样:
...
1 2 3
| var karmaConfig = require('spec/karma.conf.js');
// where my config file exports an object with properties like exclude:, path:
karma.start(karmaConfig)}, process.exit); |
这将很好地工作,除非我想导出配置函数,以便可以使用配置常量(在此处概述):
1 2 3 4 5 6 7
| // allows me to do this
module.exports = function(config) {
config.set({
logLevel: config.LOG_INFO
});
} |
但是除非您使用类似以下的方法,否则无法使其正常工作:
1
| karma.start({configFile: 'spec/karma.conf.js'}, process.exit); |
我在其中简单地传递一个对象,该对象的属性为configFile,它指向实际的配置文件。
Karma文档在任何地方都没有提及(截至本评论),但这是在使用配置函数导出方法时通过API运行我的测试的唯一方法。
- @jbielick您的答案是完全可以的-作为github.com/karma-runner/gulp-karma的一部分来说明所有这些不同的可能性都不是那么容易-但是如果您对如何制作示例有任何想法在github.com/karma-runner/gulp-karma中更好-欢迎请求请求!
-
@ pzolowski.opensource好的电话!那就是我用来作为参考并找出答案的确切回购。谢谢。
-
@jbielick,我有一个用例,我必须给开发人员选项以超越/智能合并业力配置(位于节点模块中)。为此,我要使用karma.start(configObj)(无设置)我可以通过仅使用configObj导出函数来完成configObj.configFile)。您在回答中说"这样我就可以使用config常量(此处概述)"。即使我也不能使用它们如果我只是通过configObj而不是导出功能的karma config的路径,那么无论如何,karma服务器代码都会设置configObj
-
我想,@ glad-s-river您喜欢合并的代码称为cliOptions的变量,该变量是通过命令行标志设置的。