SuperTest的Mocha测试始终通过(即使错误)

时间:2019-05-28 08:14:30

标签: node.js unit-testing mocha supertest mern

我正在使用Mocha和SuperTest来测试我的Express API。但是,当我进入.then()的{​​{1}}时,我的第一个测试似乎总是通过。

我正在将request()传递给期望String的测试。因此绝对应该通过测试。

它在Array之外无法正常工作,但是我无法访问那里的then()来执行测试。

这是我的代码:

res.body

我找到了这个article,但是我没有使用const expect = require('chai').expect; const request = require('supertest'); const router = require('../../routes/api/playlist.route'); const app = require('../../app'); describe('Playlist Route', function() { // before((done) => { // } describe('Get all playlists by user', function() { it('Should error out with "No playlists found" if there are no Playlists', function() { request(app).get('/api/playlists/all') .then(res => { const { body } = res; // Test passes if expect here expect('sdfb').to.be.an('array'); }) .catch(err => { console.log('err: ', err); }); // Test fails if expect here expect('sdfb').to.be.an('array'); }) }) }); 块,但是我认为这可能与诺言有关。

1 个答案:

答案 0 :(得分:0)

快速响应

it('decription', function(done) {
    asyncFunc()
        .then(() => {
            expect(something).to.be(somethingElse)
            done()
        })
})

@jonrsharpe的评论中的详细回复