我正在尝试通过玩笑和酶来测试我的反应成分。
当我在特定的测试案例中导入酶到json时,它起作用了。但是,我不想配置手动操作,而不是手动执行。
我已经尝试添加“ snapshotSerializers”:[“ enzyme-to-json / serializer”] 到我开玩笑的配置,但似乎无法正常工作。
如何配置笑话在包装器上使用酶转json?
Header.test.js
import React from 'react'
import { shallow } from 'enzyme'
import toJSON from 'enzyme-to-json'
import Header from '../../components/Header'
test('Should render Header correctly', () => {
const wrapper = shallow(<Header />)
expect(toJSON(wrapper)).toMatchSnapshot()
})
Header.test.js
import React from 'react'
import { shallow } from 'enzyme'
import Header from '../../components/Header'
test('Should render Header correctly', () => {
const wrapper = shallow(<Header />)
expect(wrapper).toMatchSnapshot()
})
jest.config.json
{
"setupFiles": [
"raf/polyfill",
"<rootDir>/src/tests/setupTests.js",
],
"snapshotSerializers": ["enzyme-to-json/serializer"]
}
测试脚本
“测试”:“ jest --config = jest.config.json”
exports[`Should render Header correctly 1`] = `
<header>
<h1>
Title
</h1>
<NavLink
activeClassName="is-active"
exact={true}
to="/"
>
Home
</NavLink>
<NavLink
activeClassName="is-active"
to="/create"
>
Create
</NavLink>
</header>
`;
exports[`Should render Header correctly 1`] = `ShallowWrapper {}`;
答案 0 :(得分:0)
在jest的配置文件中还有一个额外的“,”,但控制台无法通过某种方式检测到该错误。
jest.config.json
{
"setupFiles": [
"raf/polyfill",
"<rootDir>/src/tests/setupTests.js", <------- this comma
],
"snapshotSerializers": ["enzyme-to-json/serializer"]
}
删除要修复的逗号
答案 1 :(得分:0)
我遇到了同样的问题。有趣的是,我复制了您的文件,而我的setupTests
位于src
文件夹的根目录下,而Jest仍然很高兴(没有适配器投诉!)。
现在我仅使用导入。