我一直试图窥探原始功能,但我认为我做得不对。
基于这个 SO question 的公认答案,我编写了这个规范:
testSpec.js
describe("Test:", function() {
var user = "foo";
var pass = "bar";
it("Expects login() will be called", function(){
var loginSpy = spyOn(window, 'login').andCallThrough();
login(user, pass);
expect(loginSpy).toHaveBeenCalled();
});
});
现在我的测试当然通过了。但是当我删除这条线时login(user, pass)
,测试失败了。我已经用andCallThrough()
. 现在test.js
我在打电话login(user, pass)
,document.ready
所以我猜它被称为。但是我仍然对如何监视脚本login()
中实际正在执行的函数感到困惑。test.js
我不认为即使有andCallThrough()
它是在监视login()
现在test.js
。我有什么遗漏吗?