ich habe folgendes Setup für meine Unit-Tests verwenden:erwarten und soll das Versprechen Objekt anstelle dem aufgelösten Ergebnisses
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');
});
});
Aber wenn ich Mokka laufe, dann ist das Ergebnis:
1) chain test should be a string:
AssertionError: expected {} to be a string
Es scheint also, als würde der Test gegen das Promise-Objekt selbst und nicht gegen das aufgelöste Ergebnis durchgeführt.
Laut chai-as-promised: Installation and Setup ist das Setup korrekt.
Und der Test wird auf die gleiche Weise wie in chai-as-promised: How to Use beschrieben erstellt.
Ich habe sowohl die expect(promise).
als auch die promise.should
Syntax getestet. Weiß jemand, was das Problem sein könnte?
Die verwendeten Versionen von Knoten und die Module sind:
- Knoten v4.6.1
- chai 3.5.0
- Chai-as-versprochene 6.0.0
- Mokka 3.2.0
Es denken sein, dass '.to.' das Problem sein kann. – MarcoL