我正在尝试编写一个简单的react-native应用程序的测试用例,但我的测试用例总是失败,显示无法找到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 ... />
);
});
失败测试 /components/LiveTab.js(14.766s)●LiveTab渲染 正确地
TypeError:UIManager.createView不是函数
在Constructor.mountComponent(node_modules / react-native / Libraries / Renderer / src / renderers / native / ReactNativeBase) Component.js:201:11)
在Object.mountComponent上 (node_modules /反应试验渲染器/ LIB / ReactReconciler.js:46:35) 在ReactCompositeComponentWrapper.performInitialMount(node_modules / react-test-renderer / lib / ReactCompositeCompon) ent.js:371:34) 在ReactCompositeComponentWrapper.mountComponent(node_modules / react-test-renderer / lib / ReactCompositeComponent.j) S:258:21) at Object.mountComponent(node_modules / react-test-renderer / lib / ReactReconciler.js:46:35) 在ReactTestComponent.mountChildren(node_modules / react-test-renderer / lib / ReactMultiChild.js:238:44) 在ReactTestComponent.mountComponent(node_modules / react-test-renderer / lib / ReactTestRenderer.js:62:10) at Object.mountComponent(node_modules / react-test-renderer / lib / ReactReconciler.js:46:35) 在ReactCompositeComponentWrapper.performInitialMount(node_modules / react-test-renderer / lib / ReactCompositeCompon) ent.js:371:34) 在ReactCompositeComponentWrapper.mountComponent(node_modules / react-test-renderer / lib / ReactCompositeComponent.j) S:258:21)
我无法弄清楚这个简单组件中的问题是什么。
答案 0 :(得分:0)
我得到了同样的错误,因为我导入到我的组件中的一个模块没有被babel转换,所以它需要在package.json中列入白名单
参见示例: