我有一个返回承诺的方法。
doStuf() {
return somePromise
.then(...)
.catch(e => {...})
}
我想编写一个测试来确保doStuff
方法返回的promise具有catch方法。
该怎么做?
我有一个返回承诺的方法。
doStuf() {
return somePromise
.then(...)
.catch(e => {...})
}
我想编写一个测试来确保doStuff
方法返回的promise具有catch方法。
该怎么做?
这不是测试有用的东西。请考虑将doStuf
稍后重构为更多层的结构,其中可能存在多个then
-catch
链,或者实现将以其他方式更改。
您实际上并不想测试实现,因为您可以简单地查看它以查看,看诺言是否具有catch
。不,您要测试doStuf
的行为。您想断言doStuf
返回一个承诺,并且该承诺返回给定某些输入的期望值。例如:
doStuf('foo').then(r => /* assert r equals expected outcome */)
doStuf('bar').catch(r => /* assert r equals expected error */)