对于React,我使用Shallow Rendering技术对我的React组件进行单元测试。我可以在React Native做类似的事吗?
我followed the instructions to set up Jest,但找不到有关测试我的组件的任何文档。我想用React Native做完整的TDD,就像我对React一样。
答案 0 :(得分:10)
我认为enzyme正是您所寻找的。 p>
它为您提供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 API或docs。
答案 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();
});