Visual Studio 2017にnodejsプロジェクトがあり、mochaを使用して単体テストを試みています。何らかの理由で、テストエクスプローラでnode_modulesにないファイルが必要な場合、ユニットテストを見つけることができません。Visual Studio 2017 Mochaの使用
Iは、単純なテストindex.spec.jsを有し、テストExplorerはユニットテストを見つけることができる:
var assert = require('assert');
describe('Index Suite 1', function() {
it('Test 1', function() {
assert.ok(true, "This shouldn't fail");
});
it('Test 2', function() {
assert.ok(1 === 1, "This shouldn't fail");
assert.ok(false, "This should fail");
});
});
I「はVaRの英雄の添加と同じ試験heroes.spec.jsを有し= require( './英雄');単体テストが見つかりません。私はそれが英雄を見つけることができないと仮定します。ファイルheroes.jsは、heroes.spec.jsと同じフォルダにあります。私も./heroes.jsで試しました。両方のファイルでは、TestFrameworkは、これは私が問題を狭めファイルheroes.spec.js
var assert = require('assert');
var heroes = require('./heroes');
describe('Heroes Test', function() {
it('Test 1', function() {
assert.ok(true, "This shouldn't fail");
});
it('Test 4', function() {
assert.ok(1 === 1, "This shouldn't fail");
assert.ok(false, "This should fail");
});
});
あるモカ
に設定されています。 heroes.jsは他のモジュールを参照し、モジュールの1つはdbConfigを設定するためにconfigを使用するdb.jsを参照します。コードを置き換えて値をハードコードすると、単体テストが見つかります。私は回避策がありますが、正しくやりたいと思います。私は環境変数NODE_ENV = testをプロジェクトのプロパティに設定し、test.configを作成しようとしました。それでも問題は存在します。どのようにこれを正しく行うための任意のアイデアですか?
ここは私の仕事です
// var dbConfig = config.get( 'dbConfig');
var dbConfig = {
"user": "test",
"password": "password",
"server": "xxxx",
"database": "Sandbox"
};
おかげ
./heroesが見つからない場合はエラーがスローされ、実行が停止します。これはあなたのケースではないようです。私はmochaがあなたのheroes.spec.jsファイルを見つけることができないと信じています。おそらく、それはテストディレクトリのサブディレクトリ – kingdynastyk