Ich versuche, ein JavaScript-Objekt mit Mocha mit Chai, Chai-as-versprochen, Sinon, Sinon-Chai und Sinon-wie versprochen (mit Bluebird) zu testen. HierWarten auf unwidersprochenes Versprechen mit Mocha
ist das Objekt im Test:
function Component(MyService) {
var model = this;
model.data = 1;
activate();
function activate() {
MyService.get(0).then(function (result) {
model.data = result;
});
}
}
und hier ist der Test:
describe("The object under test", function() {
var MyService, component;
beforeEach(function() {
MyService = {
get: sinon.stub()
};
MyService.get
.withArgs(0)
.resolves(5);
var Component = require("path/to/component");
component = new Component(MyService);
});
it("should load data upon activation", function() {
component.data.should.equal(5); // But equals 1
});
});
Mein Problem ist, ich habe keinen Einfluß auf das Versprechen in der Komponente zu warten dafür, bevor Sie mit den in den Dokumenten von Mocha beschriebenen Wegen, sinon-wie-versprochen, überprüfen.
Wie kann ich diesen Test bestanden machen?
Does 'component.data' zurückgeben, was in' Modell.data'? – yarons
Ja, es ist gleich 1, der Anfangswert. – Mouz