2017-06-05 3 views
0

Ich bin neu zu chai und mocha und ich verwende den Beispielcode für meinen ersten Testfall. Hier ist mein Code.chai: Kann Eigenschaft 'nicht' von undefined nicht lesen

var chai = require("chai"); 
var mocha = require("mocha"); 
var expect = chai.expect; 

describe("Test", function() { 
    it("Test", function() { 
     expect([1, 2]).to.be.an('array').that.does.not.include(3); 
    }); 
}); 

Ich laufe mocha test.js

Das Ergebnis ist:

TypeError: Cannot read property 'not' of undefined 

Was ist los mit mir? Es scheint .does zurück undefined. Ich entferne .does und es funktioniert richtig. Was ist die richtige Verwendung?

Der folgende Code funktioniert.

expect([1, 2]).to.be.an('array').that.not.include(3); 

Antwort

2

Wenn ich Ihren Code mit Chai 4 ausführen, funktioniert es. Wenn ich es auf Chai 3 downgrade, erhalte ich den Fehler, den Sie bekommen. does wurde in Chai 4.0.0 als No-Op-Assertion hinzugefügt. Sie verwenden eine Version von Chai, die älter als 4.0.0 ist.

Wenn Sie die releases Informationen überprüfen, werden Sie für die Version 4.0.0, diese finden:

hinzufügen does und but als neue no-op Behauptung. (Verwandte Themen: # 700, # 339 PRs: # 621, # 701)

(Sie können die gleichen Informationen in der Github release, mit dem zusätzlichen Vorteil, dass die Ausgabenummern sind Links zu den aktuellen Fragen.)

Verwandte Themen