java单元测试异步不进去方法_如何在jasmine-node中正确地使异步单元测试失败

使用.then()并且只完成()

it('should work', (done) => {

Promise.resolve(3).then((num) => {

// your assertions here

}).catch((err) => {

expect(err).toBeFalsy();

}).then(done);

});

使用.then()和done.fail()

it('should work', (done) => {

Promise.resolve(3).then((num) => {

// your assertions here

}).then(done).catch(done.fail);

});

使用Bluebird协同程序

it('should work', (done) => {

Promise.coroutine(function *g() {

let num = yield Promise.resolve(3);

// your assertions here

})().then(done).catch(done.fail);

});

使用async / await

it('should work', async (done) => {

try {

let num = await Promise.resolve(3);

// your assertions here

done();

} catch (err) {

done.fail(err);

}

});

使用async / await和.catch()

it('should work', (done) => {

(async () => {

let num = await Promise.resolve(3);

// your assertions here

done();

})().catch(done.fail);

});

其他选项

你特意问了 jasmine-node 所以这就是上面的例子,但也有其他模块让你直接从测试中返回promises而不是调用 done() 和 done.fail() - 参见:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值