您好,我正在尝试为我的 ReactJS 项目编写自动化测试。我的 LoginModal.js 在这里
var React =require('react');
var ReactBootstrap= require('react-bootstrap/lib');
var Modal= ReactBootstrap.Modal;
var LoginModal= React.createClass({
getInitialState: function() {
return {(
showModal: false
)}
},
open() {
this.setState({ showModal: true });
},
render: function(){
return(
<div>
<Modal show={this.state.showModal} onHide={this.close}
bsSize="small"
aria-labelledby="contained-modal-title-sm"
enforceFocus >
{this.state.showModal ?
this.props.labelOn :this.props.labelOff
}
<h1>Hello World</h1>
</Modal>
<button type="button"
className="member_login btn btn-link"
onClick={this.open} id="login">
Login <span className="caret"></span>
</button>
</div>
)
}
});
我的测试文件如下:
jest.unmock('../src/js/components/LoginModal');
var React =require('react');
var ReactDOM = require('react-dom');
var TestUtils= require('react-addons-test-utils');
var LoginModal= require('../src/js/components/LoginModal');
describe('LoginModal', () => {
it('open the modal after click', () => {
const loginClick = TestUtils.renderIntoDocument(
<LoginModal labelOn=true labelOff=false />
);
const loginClickNode = ReactDOM.findDOMNode(loginClick);
expect(loginClickNode.textContent).toEqual(false);
TestUtils.Simulate.change(
TestUtils.findRenderedDOMComponentWithTag(loginClick, 'Modal')
);
expect(loginClickNode.textContent).toEqual(true);
});
});
我想为登录按钮编写单元测试,但我没有在线获得任何示例或示例。如果有人会帮助我,那就太好了。npm test
LoginModal 模块显示使用错误后。
我是 reactJs 的新手,我没有通过 google 获得任何关于 jest 或其他测试样本的教程。谢谢