W L*_*ert 10 jasmine angularjs karma-runner
在angularjs程序中,如果在测试中没有执行http帖子,我想用Jasmine进行测试.
我尝试以下代码:
expect($http.post).not().toHaveBeenCalled();
Run Code Online (Sandbox Code Playgroud)
但我得到"ReferenceError:$ http未定义"
这是旧的但我使用以下来测试这个.
expect($httpBackend.flush).toThrowError('No pending request to flush !');
Run Code Online (Sandbox Code Playgroud)
这是错误是因为你从未在测试中注入$ http.您可以使用inject函数执行此操作,但是对于测试$http调用,您确实应该使用$ httpBackend
对于要确保不调用它们的请求,您不需要执行任何操作.当Angular收到不期望的请求(由expect 函数on 定义$httpBackend)时,会抛出错误.因此,如果发出的请求不应该是,则测试将从意外请求引发的此错误中失败.
| 归档时间: |
|
| 查看次数: |
12104 次 |
| 最近记录: |