Rumah > Soal Jawab > teks badan
Saya menggunakan mocha, chai dan promised chai. Ujian sepatutnya gagal tetapi tidak, saya tidak tahu apa yang berlaku, apa-apa cadangan?
const { describe, it } = require('mocha') const chai = require('chai') const { expect } = require('chai') const chaiAsPromised = require('chai-as-promised') chai.use(chaiAsPromised) describe('test', () => { it('must be rejected', async () => { expect(Promise.resolve('success')).to.rejected }) })
Saya cuba menguji janji yang patut ditolak, ujian harus gagal, tetapi ujian itu berjaya
P粉5150665182024-04-03 00:15:38
Dipetik daripadaChai sebagai dokumen yang Dijanjikan
Anda boleh menggunakan async /await
或 .then(() => {})
untuk memasukkan berbilang Janji dalam ujian anda.
Empat ujian ini akan gagal:
const { describe, it } = require('mocha'); const chai = require('chai'); const { expect } = require('chai'); const chaiAsPromised = require('chai-as-promised'); chai.use(chaiAsPromised); describe('test', () => { it('must be rejected (1)', () => { return expect(Promise.resolve('success')).to.eventually.be.rejected; }); it('must be rejected (2)', (done) => { expect(Promise.resolve('success')).to.eventually.be.rejected.notify(done); }); it('must be rejected (3)', async () => { await expect(Promise.resolve('success1')).to.eventually.be.fulfilled; return expect(Promise.resolve('success2')).to.eventually.be.rejected; }); it('must be rejected (4)', () => { return expect(Promise.resolve('success1')).to.eventually.be.fulfilled.then( () => expect(Promise.resolve('success2')).to.eventually.be.rejected ); }); });
Contoh: https://stackblitz.com/edit/node- a7t3tx?file=index.js