如何在javascript中单元测试回调逻辑
How to unit test callbacks logic in javascript?
我将一个回调函数传递给另一个函数,这个回调函数本身有一个逻辑,我想对它进行单元测试。
callback = (data) ->
if(data.isValuePresent == "true")
alert("Valid data")
else
alert("Invalid Data")
funcWithCallback(callback)
现在我如何测试回调中的逻辑,"funcWithCallBack"在一个单独的类中,所以我可以窥探它,而回调是一个私有函数,所以我不能直接调用它
您不测试回调作为funcWithCallback
的一部分。您可以通过提供自己的测试回调(类似于这样)来测试funcWithCallback
funcWithCallback(data => expect(data.isValuePresent).toEqual("true"))
回调本身的测试和其他函数一样,通过传递一个值并期望得到一个结果。您必须将alert()
替换为一个间谍,并确保它是用适当的参数调用的。
相关文章:
- 测试Angular Service解决错误回调中的promise
- 当我的单元测试失败时,回调被调用了两次
- 使用jasmine测试JavaScript回调函数
- $watch回调每次在浏览器中触发,但在测试期间只触发一次
- 如何在没有空回调的情况下测试多个调用
- 使用qunit.js查询事件回调测试
- 调度程序未在开玩笑单元测试中注册回调
- jsonp 回调(stripe.js)中延迟承诺的 Karma 单元测试
- 在Jasmine单元测试中,如何强制失败回调来触发失败请求
- 如何使用 Angular 对带有 promise 和回调函数的函数进行单元测试
- Angular.js单元测试不调用$animate.enter回调
- 如何在javascript中单元测试回调逻辑
- 回调单元格点击在ui-grid
- Angular 2的Observable和Promise回调单元测试
- 异步回调的返回值(在单元测试中)
- 如何对一个在依赖项上注册了回调的Angular服务进行单元测试?
- 未定义不是函数:单元测试护照身份验证自定义回调
- 使用$http request的AngularJS单元测试永远不会触发.then()回调
- 如何在AngularJS中使用回调对控制器进行单元测试
- 在运行单元测试时,Promise回调不会执行