我有以下规格。
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 创建一个新对象,而不是创建间谍,行为是相同的。那么在这种情况下,间谍和实际对象之间有什么区别。
如果我错了,请纠正我。