[英]How do I test that the method has been called in jasmine?
I'm a bit confused with spying on jasmine.我对监视茉莉花有点困惑。 I have a code like this, but I'm not sure how to test it.
我有一个这样的代码,但我不知道如何测试它。
var params = {
param1: "",
param2: "link",
param3: "1",
param4 : "1"
};
var func = new myFunction(params );
func.doSomething();
How do test that func.doSomething has been called.如何测试 func.doSomething 已被调用。
This is the test I have written so far这是我迄今为止编写的测试
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.
});
});
I think you want to use toHaveBeenCalledWith()
:我想你想使用
toHaveBeenCalledWith()
:
it("should show that method doSomething is called with zero arguments", function() {
// Ensure the spy was called with the correct number of arguments
// In this case, no arguments
expect(func.doSomething).toHaveBeenCalledWith();
});
If spy function has been called exactly once, use toHaveBeenCalledOnceWith
matcher:如果 spy 函数只被调用过一次,使用
toHaveBeenCalledOnceWith
匹配器:
expect(mySpy).toHaveBeenCalledOnceWith('', 'link', "1", "1");
It combines toHaveBeenCalledTimes(1)
and toHaveBeenCalledWith()
matchers.它结合了
toHaveBeenCalledTimes(1)
和toHaveBeenCalledWith()
匹配器。
Coming with Jasmine 3.6
.与
Jasmine 3.6
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.