在React Native中,如何使用浅层渲染测试我的组件?

时间:2015-09-27 03:16:36

标签: reactjs react-native

对于React,我使用Shallow Rendering技术对我的React组件进行单元测试。我可以在React Native做类似的事吗?

followed the instructions to set up Jest,但找不到有关测试我的组件的任何文档。我想用React Native做完整的TDD,就像我对React一样。

2 个答案:

答案 0 :(得分:10)

我认为enzyme正是您所寻找的。

它为您提供shallow功能,允许您进行浅层比较(如您所愿)。

酶可以与所有流行的测试跑步者一起使用(如Mocha,Jest,Karma等)。完整列表可以找到on the library's github page

示例:

import {shallow} from 'enzyme';

describe('<MyComponent />', () => {
  it('should render three <Foo /> components', () => {
    const wrapper = shallow(<MyComponent />);
    expect(wrapper.find(Foo)).to.have.length(3);
  });
});

为了进一步阅读,您可以查看酶的Shallow Rendering APIdocs

答案 1 :(得分:1)

您可以不使用enzyme来执行此操作,只需使用react-test-renderer中的Shallow Renderer

import ShallowRenderer from 'react-test-renderer/shallow';

it('renders', () => {
  const renderer = new ShallowRenderer();
  renderer.render(<MyComponent />);

  expect(wrapper).toMatchSnapshot();
});