Sou*_*abh 4 javascript testing junit unit-testing jasmine
我有以下规格.
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创建一个新对象,而不是创建间谍,行为是相同的.那么这个场景中间谍和实际对象之间的区别是什么.
如果我错了,请纠正我.
小智 5
我前段时间遇到了同样的问题,经过几天的努力,我找到了解决方案.如果你使用另一种方式你的间谍将被重置,所以试试
spyOn(SN, 'Utils');
间谍在这里描述:https: //github.com/pivotal/jasmine/wiki/Spies
| 归档时间: | 
 | 
| 查看次数: | 11596 次 | 
| 最近记录: |