测试函数是否因返回而中止的正确方法是什么?
myFunction (parameter) {
if (typeof parameter === 'object') return
// doing any stuff
}
测试(是JS)
it('myFunction() should return if no valid parameter is passed', () => {
// SETUP
wrapper = shallow(<Component />)
// EXECUTE
wrapper.instance().myFunction(undefined)
// VERIFY
// ??
})
测试函数是否因返回而中止的正确方法是什么?
你唯一能做的就是:
undefined
,但是如果doing any stuff
包含return something
并且something
保证不是undefined
,你可以测试它。)例如,除非你提供一种了解函数内部发生的事情的方法,否则无法从外部告诉它。
函数将始终返回 - 除非它抛出异常(正确的中止方法)。如果函数在异常时正确中止,则可以断言是否抛出了该异常。
如果您想测试方法是否对方法中的特定代码行执行。假设您有茉莉花,您可以在执行行中的对象上创建一个间谍,并使用断言测试该间谍。
否则,没有真正的方法可以通过返回来区分中止 - 除非函数预期返回某些内容并且不返回任何内容。