javascript - React-native 测试用例失败

标签 javascript reactjs react-native jestjs testcase

我正在尝试编写一个简单的 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 ... />
    );
});

错误

FAIL tests/components/LiveTab.js (14.766s) ● LiveTab renders correctly

TypeError: UIManager.createView is not a function

at Constructor.mountComponent (node_modules/react-native/Libraries/Renderer/src/renderers/native/ReactNativeBase Component.js:201:11)

at Object.mountComponent (node_modules/react-test-renderer/lib/ReactReconciler.js:46:35) at ReactCompositeComponentWrapper.performInitialMount (node_modules/react-test-renderer/lib/ReactCompositeCompon ent.js:371:34) at 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) at ReactTestComponent.mountChildren (node_modules/react-test-renderer/lib/ReactMultiChild.js:238:44) at 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) at ReactCompositeComponentWrapper.performInitialMount (node_modules/react-test-renderer/lib/ReactCompositeCompon ent.js:371:34) at ReactCompositeComponentWrapper.mountComponent (node_modules/react-test-renderer/lib/ReactCompositeComponent.j s:258:21)

我无法弄清楚这么简单的组件出了什么问题。

最佳答案

我遇到了同样的错误,因为我导入组件的模块之一没有被 babel 转换,所以需要将其列入 package.json 的白名单

参见示例:

https://facebook.github.io/jest/docs/tutorial-react-native.html#transformignorepatterns-customization

关于javascript - React-native 测试用例失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42086205/

相关文章:

javascript - 从多个数组中提取随机项

javascript - 使用 useState 的旧值更新数组值

ios - React Native 返回一个元素到控制台日志

animation - 是否可以为 react-router-native 应用动画?

node.js - 使用 React Native 和 API 后端进行身份验证

javascript - 如何使用 jQuery 在页面加载时找到选定的单选按钮?

javascript - 在javascript中的两个日期之间迭代

javascript - 使用 javascript 添加表单元素 - 他们不会提交

reactjs - 引用错误 : $RefreshReg$ is not defined

css - Material UI Raised Button 在悬停时改变颜色