我正在尝试使用Webpack,Karma和PhantomJS设置React组件测试。
我无法找到运行npm test时出现以下错误的原因:
PhantomJS 1.9.8(Windows 8 0.0.0)模块标题应显示文本FAILED TypeError:' undefined'不是一个函数(评估' React.renderComponent(instance,div)')
我有以下测试文件
'use strict';
describe('Module', function(){
var component;
beforeEach( function(){
var React = require('react-addons');
var TestUtils = React.TestUtils;
var Header = require('../Header');
var component = TestUtils.renderIntoDocument(<Header title="Test Title" />);
});
it('Header should display text', function(){
expect(component.getDOMNode().textContent).toMatch(/Test Title/);
});
});
看来TestUtils.renderIntoDocument();是问题,有谁知道我怎么解决这个问题?
感谢您的时间。
我在这里添加了正确的实现:感谢Micheal的帮助
var React = require('react/addons');
var TestUtils = React.addons.TestUtils;
var Header = require('../Header');
describe('Module', function(){ var html;
beforeEach( function(){
var componentInstance = TestUtils.renderIntoDocument(<Header title="Test Title" />);
html = componentInstance.getDOMNode().textContent; });
it('Header should display text', function(){
expect(html).toMatch(/Test Title/);
});
});
....组件只显示<h1>{this.props.title}</h1>