对于React,我使用浅渲染技术对我的 React 组件进行单元测试。我可以在React Native 中做类似的事情吗?
我已按照说明设置 Jest,但找不到任何有关测试我的组件的文档。我想以与 React 相同的方式使用 React Native 进行完整的 TDD。
对于React,我使用浅渲染技术对我的 React 组件进行单元测试。我可以在React Native 中做类似的事情吗?
我已按照说明设置 Jest,但找不到任何有关测试我的组件的文档。我想以与 React 相同的方式使用 React Native 进行完整的 TDD。
我认为酶就是你要找的。
它为您提供了一个shallow
功能,允许您进行浅比较(根据需要)。
Enzyme 可以与所有流行的测试运行器(如 Mocha、Jest、Karma 等)一起使用。完整列表可以在图书馆的 github 页面上找到。
例子:
import {shallow} from 'enzyme';
describe('<MyComponent />', () => {
it('should render three <Foo /> components', () => {
const wrapper = shallow(<MyComponent />);
expect(wrapper.find(Foo)).to.have.length(3);
});
});
为此,您可以不使用enzyme
,只使用浅渲染的react-test-renderer
。
import ShallowRenderer from 'react-test-renderer/shallow';
it('renders', () => {
const renderer = new ShallowRenderer();
const wrapper = renderer.render(<MyComponent />);
expect(wrapper).toMatchSnapshot();
});