我用React的test utils制作了单元测试代码.但是遇到了问题
我的环境是:
describe("cNotice", function () {
it("lol", function () {
console.log(Notice); // present
console.log(<Notice message="show me the message" />); // return Constructor
var instance = <Notice message="show me the message" />;
var component = React.addons.TestUtils.renderIntoDocument(instance);
expect(component.getDOMNode().childNodes[0].className).toBe('notice');
});
});
Run Code Online (Sandbox Code Playgroud)
错误信息是:
错误:不变违规:addComponentAsRefTo(...):只有ReactOwner可以有refs.这通常意味着您尝试将ref添加到没有所有者的组件(即,不是在另一个组件的
render方法内创建).尝试在一个新的顶级组件中渲染此组件,该组件将保存ref.
UPDATE
这段代码没问题:
describe("cNotice", function () {
var Notice = null;
beforeEach(function () { Notice = React.createClass({...}); });
it("lol", function () {
var instance = <Notice message="show me the message" />;
var component …Run Code Online (Sandbox Code Playgroud)