私は次の仕様を持っています。
describe("SN.ExitHistory", function() {
var exitHistory;
beforeEach(function() {
SN.Utils = jasmine.createSpy("utils").andCallFake(function() {
function readSNCookie(cookieName, key) {
return "google.com";
}
function isUndefinedOrNull(param) {
return (param == null) || (param === "null");
}
function createSNCookie(snCookieName, key, value, lifeTime) {
}
var me = {
readSNCookie : readSNCookie,
isUndefinedOrNull : isUndefinedOrNull,
createSNCookie : createSNCookie
};
return me;
})();
exitHistory = SN.ExitHistory();
});
it("return last exit link", function() {
expect(exitHistory.getLastExitLink()).toEqual("google.com");
});
});
exitHistory.getLastExitLink
内部使用SN.Utils
。
テストが完了した後、Jasmine はスパイ オブジェクト utils を削除しません。次のテスト スイートでも、同じユーティリティが存在することがわかります。各テストが完了した後にスパイ オブジェクトをリセットする方法はありますか?
スパイを作成する代わりに、utils 用の新しいオブジェクトを作成すると、動作は同じになります。次に、このシナリオでのスパイと実際のオブジェクトの違いは何ですか?
私が間違っている場合は修正してください。