Lassen Sie uns sagen, dass ich eine Komponente haben, die wie folgt aussieht:Sinon.js - Stub Reagieren Komponente Funktion vor der Komponente instanziiert wird?
var React = require('react/addons');
var ExampleComponent = React.createClass({
test : function() {
return true;
},
render : function() {
var test = this.test();
return (
<div className="test-component">
Test component - {test}
</div>
);
}
});
module.exports = ExampleComponent;
In meinem Test habe ich diese Komponente TestUtils
mit machen könnte, dann Stummel des Verfahrens wie folgt:
var renderedComponent = TestUtils.renderIntoDocument(<ExampleComponent/>);
sinon.stub(renderedComponent, 'test').returns(false);
expect(renderedComponent.test).toBe(false); //passes
Aber gibt es Eine Möglichkeit, wie ich Sinon sagen könnte, die Funktion einer Komponente automatisch auszugeben, wenn eine Instanz dieser Komponente erstellt wird? Bsp .:
Wenn dies nicht möglich ist, gibt es eine mögliche Lösung, die der gewünschten Funktionalität nahe kommt?
Danke für die Antwort. Während es für einige Fälle zu funktionieren scheint, tut es nicht ganz das, wonach ich suche. Ich hätte wahrscheinlich etwas genauer sein sollen. Ich habe eine Eltern- und eine Kindkomponente und die Kindkomponente wird innerhalb der 'render' Methode der Elternkomponente gerendert. Der Elternteil verwendet 'require()', um den Konstruktor zu erhalten, und es scheint keine Möglichkeit zu geben, den Prototyp des Kindes in meinem Test zu überschreiben. Macht das Sinn? Ich kann meine Frage mit einem Beispiel aktualisieren, wenn Sie möchten. –
Es wäre schön, wenn Sie die Frage mit einem Beispiel erweitern könnten. – Victor
Ich habe eine funktionierende Lösung gefunden, aber ich werde dir immer noch das Kopfgeld geben. –