我如何使用酶(Jest)在React Native单元测试中测试Elements值

时间:2018-11-23 12:48:02

标签: reactjs react-native jestjs enzyme

我要测试以下Flash.js组件

export default class SnapshotChild extends Component {

render() {
    return (
        <View>
            <Text>First Text</Text>
            <Text>Second Text</Text>
        </View>
    );
}}

我的测试用例是

describe('Flash Card', () => {
      const flash = shallow(<Flash />);

      it('test the `<Text/>` value',()=>{
       console.log(flash.debug());
       expect(flash.find('Component Text').at(0).text()).toEqual('First Text');
      })});

现在,当我使用 npm test 运行此代码时,结果将显示

Expected value to equal:
  "First Text"
Received:
  "<Text />"

我的预期结果是“第一个文本” ,并获得“ 文本标签”。 怎么了,请有人帮我解决这个问题。预先感谢。

1 个答案:

答案 0 :(得分:0)

安装所有依赖项后,添加setup.js

    import { configure } from 'enzyme'import Adapter from 'enzyme-adapter-react-16'
configure({ adapter: new Adapter() })

在app.test.js中:

import {shallow} from 'enzyme'import App from '../App';
import React from 'react'describe('test login module',()=>{
    const appWrapper = shallow(<App/>);
    it('renders app module correctly',()=>{
        expect(appWrapper).toMatchSnapshot();
    });
});

这里是Link

您可以参考