私の Web アプリには独立したモジュールがほとんどなく、個別にテストしたいと考えています。カルマでできることはありますか?
詳細
との部分が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
ファイルを提供する構成ビルド カルマ サーバーを提供します./
。アプリで動作するように、すべてのモジュールが 1 つのブラウザー インスタンスに同時に読み込まれるという事実を除いて、これはほとんど問題ありません。私が欲しいのは、1 つのモジュールのみのテストを作成し、特定のモジュールに必要なファイルのみをロードできるようにすることです。そのようなもの:
//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!');
});
});
モジュールごとに 1 つの gulp タスクを作成できることはわかっていますが、小さな.js
ファイルがたくさんあり、個別にテストする方が簡単なようです。カルマを間違った方法で使用していますか? それとも、グローバルなものを見逃したのでしょうか?