Kip*_*els 3 reactjs jestjs react-native expo
我很困惑为什么示例测试没有运行。我在这里使用 Expo Web 和 typescript。我的前端使用expo start --web.
// App.tsx
const App = () => {
return (
<View>
<Text>Hello world</Text>
</View>
);
}
export default App;
Run Code Online (Sandbox Code Playgroud)
我按照expo-jest 文档中的示例测试进行操作
// App.test.js
import React from 'react';
import renderer from 'react-test-renderer';
import App from '../App'; // <-- only changed path to match my folder structure
describe('<App />', () => {
it('has 1 child', () => {
const tree = renderer.create(<App />).toJSON();
expect(tree.children.length).toBe(1);
});
});
Run Code Online (Sandbox Code Playgroud)
然而当我跑步时npm test,我得到
const tree = renderer.create(<App />).toJSON();
^
React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: object.
Run Code Online (Sandbox Code Playgroud)
我知道这大多数时候会将默认导出与命名导出混合在一起,但我很清楚使用默认导出和导入。我究竟做错了什么?
小智 6
app.json您的目录中可能有文件,其中也包含App.tsx. Jest 尝试导入app.json而不是App.tsx默认导入。
配置Jest的moduleFileExtensions并放置tsx在左侧。
"moduleFileExtensions": ["tsx", ...]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
501 次 |
| 最近记录: |