继电器现代:如何模拟继电器进行单元测试

use*_*064 7 react-native relaymodern

我试图测试反应继电器现代容器,但我遇到了这个问题.

TypeError: Cannot read property 'environment' of undefined
Run Code Online (Sandbox Code Playgroud)

这是测试代码:

test('render component', () => {
  const tree = renderer.create(
    <User />,
  ).toJSON();

  expect(tree).toMatchSnapshot();
});
Run Code Online (Sandbox Code Playgroud)

The*_*zer -2

实际上,您根本不需要模拟环境变量。我通常做的是添加:

export class User
Run Code Online (Sandbox Code Playgroud)

到我想要测试的类的类声明。(确保在同一类的连接版本上保留导出默认值)。

然后,我可以通过导入组件以首选方式测试组件,而无需像我的测试中那样进行中继:

 import { User } from '../User'
Run Code Online (Sandbox Code Playgroud)

这消除了对模拟中继的需要,您可以将 props 干净地传递给组件。