Jasmine-Nodeを使用してJavascriptコードをテストします。JavaScriptで2つの異なる関数オブジェクトをエクスポートおよびインポートするにはどうすればよいですか?
Confusions1とConfusions2のような2つの異なる関数オブジェクトをどのようにエクスポートできるので、どちらもJasmine-Nodeテストファイルで使用できますか?
私の試みは次のようになります。confusions.js
からConfusions1とConfusions2は内のブロックを記述ネストされた2の両方で使用できるように、私はそれをしたい
// confusions.spec.js
var Confusion = require('./confusions.js');
describe("chapter 1, common misconception ", function() {
describe("to assume `this` refers to the function itself: ", function() {
var confusion = new Confusion();
// some test code omitted
});
describe("to assume `this` refers to the function's scope", function() {
var confusion = new Confusion();
// test code omitted
});
});
:
// confusions.js
var Confusions1 = function() {};
Confusions1.prototype.foo = function(num) {
// keep track of how many times `foo` is called
this.count++;
}
module.exports = Confusions1;
// second function object
var Confusions2 = function() {};
Confusions2.prototype.foo = function() {
var a = 2;
this.bar();
};
Confusions2.prototype.bar = function() {
return this.a;
}
module.exports = Confusions2;
そして、私のジャスミンのテストファイルconfusions.spec.js
ファイルを要求した後に何らかの形で別のオブジェクトを初期化しなければならないと仮定します。var Confusion = require('./confusions.js');
何かのようにvar confusion1 = new Confusions1(); var confusion2 = new Confusions2();
しかし、正確に(両方のオブジェクトを2つの別々のファイルに分割することなく)どのくらい正確に?
jasmine-nodeボイラープレートのないあなたのコード?あなたのアプローチでテストを調整すると、Confusion1/Confusion2がテストで定義されていないため、TypeErrorが発生します。 – StandardNerd
ノード定型文とは何ですか?テストフレームワークに関係するものは何もなく、ノードモジュールシステムに関するものです。上から2つのモジュールを作成し、 'node bar.test.js'を実行します。 – Srle