2

我想知道为什么当我明确地为玩笑设置一个模拟时会出现类型错误。

我这样做:

/** @jsx React.DOM */
//tests/app/headernav-test.js
jest.dontMock('../../../app/modules/HeaderNav.jsx');
jest.dontMock('../../TestContext');
jest.setMock('../../../app/modules/LoginStatus.jsx', './mocks/LoginStatus.jsx');

var React = require('react/addons'),
    MyComponent = require('../../../app/modules/HeaderNav.jsx'),
    TestUtils = React.addons.TestUtils,
    TestContext = require('./../../TestContext'),
    component = TestContext.getRouterComponent(MyComponent).component;

describe('HeaderNav', function() {

    it('renders the header nav', function() {

    });
});

我明白了。

TypeError: /home/4m1r/project/tests/app/modules/headernav-test.js: Cannot read property 'TestUtils' of undefined

mocks/LoginStatus.jsx 就是这样:

var React = require.requireActual('react');

var LoginStatus = React.createClass({
    displayName: 'LoginStatus',
    render: function() {

        return (
            <div id="" className="LoginStatus">
                <div className="login-status-box">

                </div>
            </div>
        );
    }
});


module.exports = LoginStatus;

这是 Jest 文档:https ://facebook.github.io/jest/docs/api.html#jest-setmock-modulename-moduleexports

4

0 回答 0