Tôi xin lỗi, nhưng tôi đã có thời gian khó khăn nhất để thử kiểm tra Chế độ phản ứng bằng cách nhấp vào nút. Các phương thức đơn giản như có thể được, và tôi đã thử tất cả mọi thứ tôi có thể nghĩ hoặc tìm, nhưng tôi vẫn không thể truy vấn con cái của nó.Kiểm tra thành phần React Modal
Các phương thức thành phần:
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>
);
}
});
Mục tiêu của tôi là để kiểm tra xem rằng nút Close bắn các onHide()
hàm khi nó được nhấp.
tập tin thử nghiệm của tôi:
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;
});
});
Không có vấn đề gì tôi cố gắng, tôi dường như không thể tìm ra nút Close.
Bạn đang sử dụng jest? Tôi chưa bao giờ sử dụng jest, nhưng tôi nghĩ rằng nó tự động mocks các thành phần phụ thuộc. Đó có thể là vấn đề? –
@AbhishekJain Tôi đang sử dụng Mocha – user1778856
là '