Почему мой ожидаемый отказ не является успешным случаем в Мокко с использованием Chai-как-обещание? - PullRequest
0 голосов
/ 20 февраля 2019

Я хочу заявить об отказе от обещания в тестовом наборе мокко.Поэтому я делаю это в машинописном тексте:

import {
    expect,
    use,
} from "chai";
import * as chaiAsPromised from "chai-as-promised";

use(chaiAsPromised);

describe("Promise rejection", async () => {

    it("should assert promise rejection", async () => {
        const msg = "I AM THE EXPECTED ERROR";

        const rejectedPromise = Promise.reject(msg);

        return expect(rejectedPromise).to.eventually.throw(msg);

    });
});

Я ожидаю, что мой тест будет успешным, так как выдается ожидаемая ошибка.Тем не менее мой тест не проходит с:

Error: the string "I AM THE EXPECTED ERROR" was thrown, throw an Error :)
    at <anonymous>
    at runMicrotasksCallback (internal/process/next_tick.js:122:5)
    at _combinedTickCallback (internal/process/next_tick.js:132:7)
    at process._tickCallback (internal/process/next_tick.js:181:9)

1 Ответ

0 голосов
/ 20 февраля 2019

Вы хотите проверить на обещание отклонение, а не ошибку .Следовательно используйте rejectedWith:

return expect(rejectedPromise).to.eventually.be.rejectedWith(msg);
...