使用jest测试promise:
function solution(num){
return new Promise((resolve,reject)=>{
setTimeOut(()=>{
if(num<10){
resolve(num)
}else{
reject("error")
}
})
})
}
当reslove的时候jest测试写法为:
test('promise', () => {
return solution(6).then(data => {
expect(data).toBe(6);
})
});
当promise被reject后写法为:
test('promise', async () => {
expect.assertions(1);
try{
await solution(16)
}catch(err=>{
expect(err).toBe("error");
})
});
或者:
test('error', () => {
expect(solution(16)).rejects.toMatch('error');
})