У меня есть следующие настройки для моего модульного тестирования:Ожидать и должны использовать объект Promise вместо разрешенного результата
const mocha = require('mocha')
var chai = require('chai')
var chaiAsPromised = require('chai-as-promised')
chai.use(chaiAsPromised)
var expect = chai.expect
chai.should()
describe('chain test', function() {
it('should be a string', function() {
return Promise.resolve('string').should.to.be.a('string');
});
});
Но когда я бегу мокко, то результат:
1) chain test should be a string:
AssertionError: expected {} to be a string
Поэтому кажется, что тест выполняется против самого объекта Promise, а не против разрешенного результата.
Согласно chai-as-promised: Installation and Setup, установка правильная.
И тест создается так же, как описано в chai-as-promised: How to Use.
Я проверил как expect(promise).
, так и синтаксис promise.should
. Кто-нибудь знает, в чем проблема?
Использованные варианты узла и модули:
- узел v4.6.1
- Chai 3.5.0
- Chai-а-обещали 6.0.0
- Мокко 3.2.0
Это считают, что '.to.' может быть проблема. – MarcoL