Я не могу сделать Chai expect
работы в этом простом примере: done
функции мокко никогда не кажется, дозвонилась и утверждение просто игнорируется:мокко и Chai неудачи insde обещания
import chai, {expect} from 'chai';
import chaiAsPromised from 'chai-as-promised';
chai.use(chaiAsPromised);
import 'isomorphic-fetch';
describe('Mocha and Chai',() => {
it('tests chai expect inside a promise', (done) => {
fetch('http://google.com').then(() => {
const actual = 'test';
const expected = 'expected';
console.log(`'${actual}'' equals to '${expected}'?`, actual === expected);
expect(actual).to.be.equals(expected);
expect(actual).to.eventually.be.equals(expected);
done();
});
});
});
Обратите внимание, что я пытался как , с chai-as-promised
eventually
.
Это соответствующий выход:
> mocha tools/testSetup.js "src/**/*.spec.js" --reporter progress
'test'' equals to 'expected'? false
1) Mocha and Chai tests chai expect inside a promise:
Error: timeout of 2000ms exceeded. Ensure the done() callback is being called in this test.
Как вы можете видеть, обещание работать, я получаю свой вывод на консоль. Но ни звонки expect()
, ни вызов done()
ничего не делают.
Я не уверен, если это уместно, но я использую isomorphic-fetch
и предложенный es6-promise
.
Попробуйте с 'this.timeout (50000)' 'после его()' – slorenzo