我的网络应用程序中的独立模块很少,我想单独测试它们。有可能与业力有关吗?
细节
gulpfile.js
和的部分karma.conf.js
:
//gulpfile.js
gulp.task('test', function (done) {
new karmaServer({
configFile: __dirname + '/source/__test__/karma.conf.js',
singleRun: true
}, done).start();
});
//karma.conf.js
module.exports = function(config) {
config.set({
browsers: ['Chrome', 'Firefox'],
frameworks: ['mocha', 'chai'],
basePath: '.',
files: [
'../js/**/*.js',
'./**/*.spec.js'
]
});
};
提供配置构建业力服务器,它为目录中的所有*.js
文件../js
和*.spec.js
文件提供服务./
。这几乎没问题,除了所有模块都在一个浏览器实例中同时加载,就像它们在应用程序中工作一样。我想要的是允许我只为一个模块创建测试并只加载给定模块所需的文件。像这样:
//hello.js
function greet(name) {
return 'Hello, ' + name + '!';
}
//hello.specs.js
load('../hello.js'); // I'm going to test it only. Let browser load it
describe('greeter', function () {
it('should say Hello to the World', function () {
expect(greet('World')).to.equal('Hello, World!');
});
});
我知道可以为每个模块创建一个 gulp 任务,但是我有很多小.js
文件,看起来单独测试它们会更容易。我是否以错误的方式使用 Karma?或者也许我错过了一些全球性的东西?