我将回调函数传递给另一个函数,并且回调本身内部有一个逻辑,我想进行单元测试。
callback = (data) ->
if(data.isValuePresent == "true")
alert("Valid data")
else
alert("Invalid Data")
funcWithCallback(callback)
现在我如何测试回调内的逻辑,“funcWithCallBack”在一个单独的类中,所以我可以窥探它,而回调是一个私有函数,所以我不能直接调用它。
答案 0 :(得分:0)
您不会将回调作为funcWithCallback
的一部分进行测试。您可以通过提供自己的测试回调(类似于此)来测试funcWithCallback
funcWithCallback(data => expect(data.isValuePresent).toEqual("true"))
通过传递值并期望结果,回调本身就像任何其他函数一样进行测试。您必须用间谍替换alert()
,并确保使用适当的参数调用它。