Es tut mir leid, aber ich hatte die schwierigste Zeit, zu versuchen, mein React Modal zu schließen, indem ich auf eine Schaltfläche klicke. Das Modal ist so einfach wie nur möglich, und ich habe alles versucht, was ich denken oder finden kann, aber ich kann seine Kinder immer noch nicht abfragen.Testen einer React Modal-Komponente
Die Modal-Komponente:
var React = require('react');
var Modal = require('react-bootstrap').Modal;
var Button = require('react-bootstrap').Button;
var MyModal = React.createClass({
...
render: function() {
return (
<Modal className="my-modal-class" show={this.props.show}>
<Modal.Header>
<Modal.Title>My Modal</Modal.Title>
</Modal.Header>
<Modal.Body>
Hello, World!
</Modal.Body>
<Modal.Footer>
<Button onClick={this.props.onHide}>Close</Button>
</Modal.Footer>
</Modal>
);
}
});
Mein Ziel ist es zu prüfen, ob die Schaltfläche Schließen der onHide()
Funktion wird ausgelöst, wenn es angeklickt wird.
Meine Testdatei:
describe('MyModal.jsx', function() {
it('tests the Close Button', function() {
var spy = sinon.spy();
var MyModalComponent = TestUtils.renderIntoDocument(
<MyModal show onHide={spy}/>
);
// This passes
TestUtils.findRenderedComponentWithType(MyModalComponent, MyModal);
// This fails
var CloseButton = TestUtils.findRenderedDOMComponentWithTag(MyModalComponent, 'button');
// Never gets here
TestUtils.Simulate.click(CloseButton);
expect(spy.calledOnce).to.be.true;
});
});
Egal, was ich versuche, ich kann nicht scheinen, um die Close Button zu finden.
Sie Scherz verwenden? Ich habe nie Scherz benutzt, aber ich denke, dass es die abhängigen Komponenten automatisch verspottet. Kann das das Problem sein? –
@AbhishekJain Ich benutze Mocha – user1778856
ist '