Тест Мокко и Чай ожидают, что не сгенерирует ошибку - PullRequest
0 голосов
/ 19 марта 2020

Я делаю некоторые тесты с Мокко и Чай

У меня есть некоторые функции, которые не имеют возвращаемого значения, но если есть ошибка, они выдают ошибку

Я бы хотел тест, поскольку они проходят тест, если они не выдают ошибку

, например,

async function sum(a, b){
    Promise.resolve()
    .then()
    if(typeof(a) !== 'number')
        throw new Error('a should be a number')

    if(typeof(b) !== 'number')  
        throw new Error('b should be a number')

    console.log('the sum is ', a + b)

    return
}

Затем я хочу проверить, что она работает с чем-то вроде этого

expect(sum(1, 2)).not.to.throw()

1 Ответ

0 голосов
/ 20 марта 2020

Чтобы решить эту проблему, нужно использовать chai-as-promise library

const chai = require('chai');
const chaiAsPromised = require("chai-as-promised");
chai.use(chaiAsPromised);
const expect = chai.expect;

expect(sum(1, 2)).to.eventually.not.be.rejectedWith(Error)
...