Jul*_*lio 9 reactjs jestjs styled-components react-testing-library jest-dom
我正在尝试使用 jest-dom 来测试组件的样式,但出现错误:
"TypeError: expect(...).toHaveStyle is not a function"
Run Code Online (Sandbox Code Playgroud)
我的组件是与样式组件的简单链接:
import styled from 'styled-components'
export const Link = styled.a`
color: #fff;
`
Run Code Online (Sandbox Code Playgroud)
在我的测试中我正在做:
describe('Link', () => {
it('should display color on the link', () => {
render(<Link href="/x">Test</Link>)
}
expect(screen.getByRole('link', { name: /test/i })).toHaveStyle({ color: '#fff' })
}
Run Code Online (Sandbox Code Playgroud)
我使用以下命令创建了一个设置文件(jest.config.js):
module.exports = {
setupFilesAfterEnv: ['<rootDir>/.jest/setup.js'],
}
Run Code Online (Sandbox Code Playgroud)
在项目的根目录下,我创建了 .jest / setup.js 文件并导入了 js-dom:
import '@testing-library/jest-dom'
Run Code Online (Sandbox Code Playgroud)
自@testing-library/dom
v5.0.0 以来,有一些重大更改Compare/v4.2.4...v5.0.0
在 v5.0.0 之前,您应该使用import '@testing-library/jest-dom/extend-expect';
从 v5.0.0 开始,你应该使用import '@testing-library/jest-dom';
您没有expect
正确添加匹配器。这就是您收到错误的原因。
归档时间: |
|
查看次数: |
17785 次 |
最近记录: |