Piszę testy jednostkowe Javascript Mocha na kodzie, który zwraca obietnice. Używam biblioteki Chai as Promised. Oczekuję, że następujący minimalny test jednostkowy zakończy się niepowodzeniem.Jak zarejestrować nieudany test Mocha na obietnicy
var chai = require("chai");
var chaiAsPromised = require("chai-as-promised");
chai.use(chaiAsPromised);
chai.should();
var Promise = require("bluebird");
describe('2+2', function() {
var four = Promise.resolve(2 + 2);
it('should equal 5', function() {
four.should.eventually.equal(5);
})
});
Po uruchomieniu tego testu wyświetlany jest komunikat potwierdzenia do konsoli, ale test nadal jest liczony jako przekazanie.
> mocha test/spec.js
2+2
✓ should equal 5
Unhandled rejection AssertionError: expected 4 to equal 5
1 passing (10ms)
Jak napisać ten test tak, że nie udało twierdzenie powoduje próbę liczyć jako niepowodzenie?
co jeśli potrzebujesz więcej niż jednego potwierdzenia ... – Jeremy
Użyj 'Promise.all', aby połączyć wiele asercji. –