0
我想測試一個反應成分,這裏是測試玩笑測試失敗作出反應成分
jest.dontMock('../js/components/Navigation.js');
var React = require('react/addons');
var Navigation = require('../js/components/Navigation.js');
var Router = require('react-router').Router;
var Route = require('react-router').Route;
var Link = require('react-router').Link;
TestUtils = React.addons.TestUtils;
describe('Navigation', function() {
var NavElement = TestUtils.renderIntoDocument(
<Navigation items={['nav1', 'nav2', 'nav3']} />
);
var items = TestUtils.scryRenderedDOMComponentsWithTag(NavElement, 'li');
it('renders each item as a li', function() {
expect(items.length).toEqual(3);
});
});
這裏是組件
var React = require('react');
var Router = require('react-router').Router;
var Link = require('react-router').Link;
var RouteHandler = require('react-router').RouteHandler;
var Navigation = React.createClass({
render: function() {
return (
<div>
<header>
<ul>
<li><Link to="nav1">nav1</Link></li>
<li><Link to="nav2">nav2</Link></li>
<li><Link to="nav3">nav3</Link></li>
</ul>
</header>
<RouteHandler />
</div>
);
}
});
當我運行「NPM測試」我得到的遵循規則和錯誤 警告:React.createElement:類型不應該爲null,undefined,boolean或number。它應該是一個字符串(用於DOM元素)或ReactClass(用於複合組件)。
- Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined.
我錯過了什麼?
我試着刪除和resintsalling節點模塊 還試圖導入作爲
var Navigation = require('../js/components/Navigation.js').default;
而且使用
modules.export = Navigation;
添加後仍然出現相同的錯誤。只是爲了澄清,我把它添加到文件結尾 –
好吧,現在確保你包含它像這樣:'var Navigation = require('../ js/components/Navigation.js');' – Grgur
仍然是完全相同的錯誤 –