из документации Chai-а обещанногоChai-а обещанный - ждите с обещанием всегда превращается в пустой объект
(2 + 2).should.equal(4); // becomes return Promise.resolve(2 + 2).should.eventually.equal(4); expect({ foo: "bar" }).to.have.property("foo"); // becomes return expect(Promise.resolve({ foo: "bar" })).to.eventually.have.property("foo");
но если я пытаюсь
import chai from 'chai';
import sinon from 'sinon';
import sinonChai from 'sinon-chai';
import dirtyChai from 'dirty-chai';
import chaiAsPromised from 'chai-as-promised';
chai.use(sinonChai);
chai.use(dirtyChai);
chai.use(chaiAsPromised);
//...
it.only('test', function() {
return expect(Promise.resolve({ foo: 'bar' })).to.eventually.have.property('foo');
});
Я получил эту ошибку утверждения :
AssertionError: expected {} to have a property 'foo'
Я пробовал с различными вариантами использования и утверждений, но это всегда то же самое, что выходит из expect(promise)
- это всегда пустой объект.
Любая идея, почему?
Я использую
"chai-as-promised": "6.0.0",
"chai": "^3.5.0",
"dirty-chai": "^1.2.2",
"mocha": "3.2.0",
"sinon": "^1.17.3",
"sinon-chai": "^2.8.0"
вы можете добавить, как вы импортировали ваш Chai LIBS? должно иметь что-то вроде 'var chai = require (" chai "); var chaiAsPromised = require ("chai-as-обещанный"); chai.use (chaiAsPromised); ' – LostJon