测试是否在Nodejs中使用Jasmine解决或拒绝了承诺 [英] Test if a promise is resolved or rejected with Jasmine in Nodejs

查看:113
本文介绍了测试是否在Nodejs中使用Jasmine解决或拒绝了承诺的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道如何在摩卡中做到这一点,但想知道如何使用Jasmine。
我试过这个

I know how to do it in Mocha but want to know how to do it with Jasmine. I tried this

describe('test promise with jasmine', function() {
    it('expects a rejected promise', function() {
        var promise = getRejectedPromise();

        // return expect(promise).toBe('rejected');
        return expect(promise.inspect().state).toBe('rejected');
    });
});

但是,状态总是待定并且当然,测试失败了。我在网上找不到任何可以使它工作的例子。

However, the state is always pending and, of course, the test fails. I couldn't find any example online that I could make it work.

有人可以帮帮我吗?

谢谢。

推荐答案

要使用jasmine测试异步代码,您应该使用其异步语法,例如:

To test asynchronous code with jasmine you should use its async syntax, e.g.:

describe('test promise with jasmine', function(done) {
    var promise = getRejectedPromise();

    promise.then(function() {
      // Promise is resolved
      done(new Error('Promise should not be resolved'));
    }, function(reason) {
      // Promise is rejected
      // You could check rejection reason if you want to
      done(); // Success
    });
});

这篇关于测试是否在Nodejs中使用Jasmine解决或拒绝了承诺的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆