バックエンドの単体テスト(Mochaで記述)を実行するようにKarmaを設定するにはどうすればよいですか?バックエンドテストスクリプトをに追加するとfiles = []
、それrequire
が未定義であると表示されて失敗します。
回答:
あなたはしません。Karmaは、ブラウザベースのコードをテストするためだけのものです。バックエンドにmochaテストがあり、フロントエンドにkarma / mochaがあるプロジェクトがある場合は、スクリプトでpackage.jsonを編集して、テストを次のように設定してみてください。mocha -R spec && karma run karma.con
次に、npm test
trueが返された場合、コミットまたはデプロイしても安全であることがわかります。
それができないようです(@dankohnに感謝します)。Gruntを使用した私の解決策は次のとおりです。
Karma:karma.conf.jsファイルを更新します
autoWatch = false;
singleRun = true;
browsers = ['PhantomJS'];
(インライン結果を取得するため)グラント:
npm install grunt-contrib-watch grunt-simple-mocha grunt-karma
Gruntfile.js:
module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-simple-mocha');
grunt.loadNpmTasks('grunt-karma');
grunt.initConfig({
simplemocha: {
backend: {
src: 'test/server-tests.js'
}
},
karma: {
unit: {
configFile: 'karma.conf.js'
}
}
});
// Default task.
grunt.registerTask('default', ['simplemocha', 'karma']);
};
Grunt(オプション):スペックファイルまたはテストするファイルを変更した後に実行するようにgrunt-watchを構成します。
grunt
コマンドを使用してすべてを実行します。