0

我对 React 和 Jest 都是全新的,我认为我有一个相当简单的组件,但我一直收到这个错误,我在 GitHub 上的问题中没有看到任何关于它的信息,这里只有一个 React 特定的问题,而不是 Jest 问题。完整的错误是:TypeError: Object <UserInfo /> has no method 'mountComponentIntoNode'

反应代码

/** @jsx React.DOM */
var React = require('react');
var Router = require('react-nested-router');

var user = require('../lib/stores/user');

/**
 * UserInfo
 *
 * Form for user's personal information.
**/
var UserInfo = React.createClass({
  handleSubmit: function(event) {
    event.preventDefault();

    user.firstName = this.refs.firstName.getDOMNode().value;
    user.lastName = this.refs.lastName.getDOMNode().value;
    user.dateOfBirth = this.refs.dob.getDOMNode().value;
    user.ssn = this.refs.ssn.getDOMNode().value;

    Router.transitionTo('/contact-info');
  },

  render: function() {
    return (
      <section>
        <form onSubmit={this.handleSubmit}>
          <label class="first-name-label" htmlFor="first-name">First Name</label>
          ... lots of inputs and labels ...
        </form>
      </section>
    );
  }
});

module.exports = UserInfo;

笑话代码

/** @jsx React.DOM */
jest.dontMock('../application/views/user-info.jsx');
var React = require('react/addons');
var UserInfo = require('../application/views/user-info.jsx');
var TestUtils = React.addons.TestUtils;

describe('UserInfo', function () {
  it('example test only', function () {
    var userinfo = '<UserInfo />'
    TestUtils.renderIntoDocument(userinfo);
  });
});
4

1 回答 1

1

啊! 我想我终于想通了。我不小心<UserInfo />中了一根绳子!

describe('UserInfo', function () {
  it('example test only', function () {
    var userinfo = <UserInfo />
    TestUtils.renderIntoDocument(userinfo);
  });
});

以上作品!

于 2014-07-16T18:55:02.897 回答