Javascript 如何测试该方法是否已在jasmine中调用?
我对监视茉莉有点困惑。我有一个这样的代码,但我不知道如何测试它Javascript 如何测试该方法是否已在jasmine中调用?,javascript,testing,bdd,jasmine,Javascript,Testing,Bdd,Jasmine,我对监视茉莉有点困惑。我有一个这样的代码,但我不知道如何测试它 var params = { param1: "", param2: "link", param3: "1", param4 : "1" }; var func = new myFunction(params ); func.doSomething(); 如何测试已调用func.doSomething 这是我到目前为止写的测试 describe("Library", function() {
var params = {
param1: "",
param2: "link",
param3: "1",
param4 : "1"
};
var func = new myFunction(params );
func.doSomething();
如何测试已调用func.doSomething
这是我到目前为止写的测试
describe("Library", function() {
beforeEach(function() {
});
it("should include correct parameters", function() {
expect(params.param1).toEqual("");
expect(params.param2).toEqual("link");
expect(params.param3).toEqual("1");
expect(params.param4).toEqual("1");
});
it("should show that method doSomething is called with zero arguments", function() {
// I'm not sure how to write test for this.
});
});
我想您应该使用
来调用()了。
:
如果spy函数只被调用过一次,请使用
将调用与匹配器:
expect(mySpy).toHaveBeenCalledOnceWith('', 'link', "1", "1");
它结合了调用时间(1)
和调用时间()
《茉莉花3.6》即将推出,谢谢您的回答。这就是我所做的;函数doSomething();期望(函数doSomething).tohavebeincall();但是我有一个愚蠢的问题,这是否意味着func.doSomething()是在测试中调用的,而不是测试真实代码的行为?我对这一点很陌生,所以请原谅我问了一个愚蠢的问题。如果你想具体说明次数:expect(component.func)。toHaveBeenCalledTimes(1);
expect(mySpy).toHaveBeenCalledOnceWith('', 'link', "1", "1");