我有一个功能组件Foo.js,如下所示:
const Foo = () => {
return (
<View></View>
)
}
export default Foo这个组件在应用程序中呈现它时工作得很好。
问题是在尝试测试组件时,如下所示:
import renderer from 'react-test-renderer'
import Foo from './Foo'
test('testing', () => {
const component = renderer.create(<Foo />) <--- Error occurs
})运行此测试时(调用)时发生错误,即:Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.
奇怪的是,如果我将组件放置在测试文件中,那么测试就通过了,而没有任何错误。
const Foo = () => {
return (
<View></View>
)
}
test('testing', () => {
const component = renderer.create(<Foo />)
})发布于 2021-12-16 09:02:16
原来,这是因为导出的组件被模仿了,因为我在jest配置中将自动锁设置为true。
在jest.config.js中更改此
automock: true这方面:
automock: false解决这个问题。
问题:为什么自动锁定组件不返回任何内容?能否以某种方式解决这一问题,使其能够将自动锁设置为真?
https://stackoverflow.com/questions/70371181
复制相似问题