为什么文本不能使用酶在reactjs中呈现?

时间:2018-03-06 05:48:57

标签: javascript reactjs react-router react-redux enzyme

你能不能告诉我为什么测试用例不能用酶做反应?

我安装酶js并遵循本教程 https://javascriptplayground.com/introduction-to-react-tests-enzyme/

这是我的代码

import React from 'react';
import Hello from './Hello';
import { shallow } from 'enzyme';

it('renders', () => {
  const wrapper = shallow(<Hello name="Jack" />);
  expect(wrapper.find('h1').text()).toEqual('Hello, Jack!');
});

https://codesandbox.io/s/5x6oqkyknn

1 个答案:

答案 0 :(得分:0)

您在测试未找到时面临的问题是命名问题。

codesandbox使用字符敏感的正则表达式,你必须使它Hello.spec.js才能被检测到。

以下是您的代码分叉的沙箱:https://codesandbox.io/s/649owm14o3

此外,要让测试真正起作用,您必须设置enzyme-adapter-react-16并将其设置为:

import Enzyme, { shallow } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';

Enzyme.configure({ adapter: new Adapter() });

通常你会在另一个文件中执行此操作,但出于本演示的目的,我已将其设置在同一个文件中。

还要注意拼写错误&#34; Hello Jack&#34;