Przykro mi, ale najtrudniej było mi próbować zamknąć mój Modę Reagową, klikając przycisk. Modal jest tak proste, jak tylko możliwe, i próbowałem wszystkiego, co potrafię wymyślić lub znaleźć, ale wciąż nie mogę zapytać o to swoich dzieci.Testowanie komponentu React Modal
modalnego komponent:
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>
);
}
});
Moim celem jest sprawdzenie, czy to przycisk Zamknij odpala funkcję onHide()
gdy zostanie kliknięty.
Mój plik testowy:
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;
});
});
Bez względu na to, co staram, nie mogę wydawać się znaleźć przycisk Zamknij.
Używasz żart? Nigdy nie użyłem żartu, ale myślę, że automatycznie koryguje zależne komponenty. Czy to może być problem? –
@AbhishekJain Używam Mocha – user1778856
jest "