我正试图编写一些简单的react本机应用程序的测试用例,但我的测试用例总是失败,并出现一个错误,显然找不到UIManager.createView
组件
class LiveTab extends Component {
constructor(props) {
...
}
render() {
return (
<ListView
dataSource={ ... }
renderRow={ ... }
/>
);
}
}
LiveTab.propTypes = { ... };
export default LiveTab;
测试用例
...
import renderer from 'react-test-renderer';
it('LiveTab renders correctly', () => {
const tree = renderer.create(
<LiveTab ... />
);
});
错误
FAIL测试/components/LiveTab.js(14.766秒)●LiveTab渲染正确
TypeError:UIManager.createView不是函数
在Constructor.mountComponent组件js:201:11)
在Object.mountComponent(node_modules/areact测试渲染器/lib/ReactReconciler.js:46:35)在ReactCompositeComponentWrapper.performInitialMount(node_modules/areact测试渲染器/lib/ReactComposite组件zh:371:34)在ReactCompositeComponentWrapper.mountComponent(node_modules/react-test-rederer/lib/RectCompositeComponent.js: 258:21)在Object.mountComponent(node_modules/react-test-renderer/lib/RectReconciler.js:46:35)位于ReactTestComponent.mountChildren(node_modules/react-test-renderer/lib/RectMultiChild.js:238:44)在ReactTestComponent.mountComponent(node_modules/react-test-rederer/lib/RectTestRenderer.js:62:10)在Object.mountComponent(node_modules/react-test-renderer/lib/RectReconciler.js:46:35)在ReactCompositeComponentWrapper.performInitialMount(node_modules/areact测试渲染器/lib/ReactComposite组件zh:371:34)在ReactCompositeComponentWrapper.mountComponent(node_modules/react-test-rederer/lib/RectCompositeComponent.js: 258:21)
我不知道这么简单的组件有什么问题。
我收到了同样的错误,因为我导入到组件中的一个模块没有被babel转换,所以它需要在package.json 中被列入白名单
参见示例:
https://facebook.github.io/jest/docs/tutorial-react-native.html#transformignorepatterns-定制