1

您好,我正在尝试为我的 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 testLoginModal 模块显示使用错误后。

我是 reactJs 的新手,我没有通过 google 获得任何关于 jest 或其他测试样本的教程。谢谢

4

0 回答 0