これまでに何を試しましたか? beforeEach
を使用して、使用しているオブジェクトを再初期化しようとしましたか?あなたはテストの外で宣言された共有変数を作ることができます。
編集:Jerryが言ったことの詳細を追加: すべての変数を同じテスト内で再利用したい場合は、それらをグローバル変数にする必要があります。以下の例を参照してください。
///include dependencies
var assert = require('assert'),
chai = require('chai'),
expect = chai.expect,
chakram = require('chakram');
//INIT GLOBAL VARAIBLES FOR within the same test
var testObj,
dummyData = {
user: 'John Kim',
lastSeenOnline: 'Wed August 11 12:05 2017'
};
describe ('#User', function() {
beforeEach(function() {
//init what the object contains
testObj = new DataStore(data, ContainerStore);
});
it ('#Should return the name of the user', function() {
assert.equal(testObj.get('user'), dummyData.user);
});
it("should offer simple HTTP request capabilities", function() {
return chakram.get("http://httpbin.org/get");
});
});
注:反応して動作しますが、これは一例です。 ContainerStoreには、JSONオブジェクトの値を取得するget()メソッドが含まれていると仮定します。 testObjはテストの外で宣言されているので、異なる記述ブロックで何度も使用することができます。しかし、常にあなたのtesObjをbeforeEach()
に再初期化することを忘れないでください。それ以外の場合は、個々のテストを実行するリスクがあります。 beforeEach()を初期化する必要がなく、オプションである場合があります。
'あなたはテストの外に宣言された共有変数を作ることができます。 ' 私の質問です。 – JerryLee