2

jest のモックを明示的に設定すると、なぜ型エラーが発生するのか疑問に思っています。

私はこれをします:

/** @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