jis*_*512 7 javascript jasmine
我有一个用 javascript 编写的方法,我正在使用 Jasmine 来测试该方法。该方法是调用另一个方法的 void 类型。
我必须测试该方法是否正在调用其他方法,当前方法是否返回 void。
我应该在expect子句中写什么来比较它。
sendMessage=function(data){
if(data!=null)
{
postMessage(data);
}
}
Run Code Online (Sandbox Code Playgroud)
茉莉花代码:
describe('unit test void method', function(){
it("sendMessage method should invoke the postMessage", function () {
expect(sendMessage("hello");
})
})
Run Code Online (Sandbox Code Playgroud)
我应该将它与什么进行比较?
詹姆斯是对的。这是一个间谍功能,尽管我使用另一种方法。
在 beforeEach 函数的设置中的某处:
spyOn(YourObject, 'postMessage').and.callThrough();
Run Code Online (Sandbox Code Playgroud)
YourObject是包含该函数的任何对象。
期望:
it('expects postMessage() to have been called', function () {
// make the call to this function
YourObject.postMessage();
// Check internal function
expect(YourObject.postMessage).toHaveBeenCalled();
});
Run Code Online (Sandbox Code Playgroud)
听起来您想使用Jasmine 间谍来跟踪调用方法的时间和频率:
expect(obj.method.calls.any()).toBe(true);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23870 次 |
| 最近记录: |