2016-11-27 2 views
0

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

Antwort

0

Ich habe den Fehler gefunden.

Das Problem ist, dass die richtige Syntax nicht .should.to.be ist, aber .should.eventually.be

+0

Es denken sein, dass '.to.' das Problem sein kann. – MarcoL

Verwandte Themen