我是新的笑话测试。
我有一个这样的开关案例:
export const findType = async (name) => {
switch(name){
case "apple":
return new AppleClass()
case "mango":
return new MangoClass()
default:
return new VegetableClass()
}
}
字符串
现在,我想写一个jest测试用例来检查上面的switch用例。我的测试用例是这样的:
it('should return AppleClass', () => {
expect(() => {
let res = findType("apple")
console.log(res)
}).toReturn(instanceof(AppleClass))
})
型
console.log(res)打印:
Promise{
AppleClass {
//some other stuff
}
}
型
但我得到的错误是
Expression expected.ts(1109)
Expected 0 arguments, but got 1.
型
在
.toReturn(instanceof(AppleClass))
型
如何测试这个。任何帮助将是伟大的。
2条答案
按热度按时间gc0ot86w1#
您必须以不同的方式设置传递给
it
的函数,因为instanceOf运算符需要检查对象,如下所示:字符串
你应该尝试这样的东西:
型
看到它工作here。
在函数返回promise的情况下,测试应该像这样修改:
型
我已经编辑了上面链接中的代码,对于返回Promise的函数,请检查它。
mzillmmw2#
我认为这也会起作用:
字符串