我正在阅读reactjs
文档,但我很难完全理解它。我希望有更多循序渐进的例子。
我希望能够测试我的组件及其子组件,但我不确定如何创建组件的模拟或实例来测试它们。
代码:
import React from 'react/addons';
import Layout from '../../app/views/layout.js';
var TestUtils = React.addons.TestUtils;
var mockLayout;
describe('Layout (deep copy)', function() {
beforeEach(function() {
mockLayout = TestUtils.renderIntoDocument(<Layout />);
});
it('is DOM Component', function(done) {
assert(TestUtils.isDOMComponent(mockLayout));
done();
});
});
我收到错误消息,但我不确定这意味着什么:
TypeError: Cannot read property 'getRouteAtDepth' of undefined
at RouteHandler.createChildRouteHandler (base/spec/views/layout.js:23821:39)
at RouteHandler.render (base/spec/views/layout.js:23836:27)
at ReactCompositeComponentMixin._renderValidatedComponentWithoutOwnerOrContext (base/spec/views/layout.js:12011:35)
at ReactCompositeComponentMixin._renderValidatedComponent (base/spec/views/layout.js:12038:15)
at ReactPerf.measure.wrapper (base/spec/views/layout.js:3744:22)
at ReactCompositeComponentMixin.mountComponent (base/spec/views/layout.js:11459:31)
at ReactPerf.measure.wrapper [as mountComponent] (base/spec/views/layout.js:3744:22)
at Object.ReactReconciler.mountComponent (base/spec/views/layout.js:3819:36)
at ReactDOMComponent.ReactMultiChild.Mixin.mountChildren (base/spec/views/layout.js:13014:45)
at ReactDOMComponent.Mixin._createContentMarkup (base/spec/views/layout.js:12598:33)window.__karma__.result @ debug.html:37(anonymous function) @ adapter.js:98require.register.EventEmitter.emit @ mocha.js:616(anonymous function) @ adapter.js:73require.register.EventEmitter.emit @ mocha.js:611require.register.Runner.fail @ mocha.js:4797require.register.Runner.failHook @ mocha.js:4822(anonymous function) @ mocha.js:4863done @ mocha.js:4518require.register.Runnable.run @ mocha.js:4558next @ mocha.js:4855(anonymous function) @ mocha.js:4876timeslice @ mocha.js:6483