使用 Jest-Enzyme 测试样式组件

问题描述 投票:0回答:2

如何测试我的

styled-component
是否具有特定的 CSS 属性值对?

假设我的组件如下:

const myColor = '#111';

const Button = styled.button`
  background-color: ${myColor};
`;

并且测试检查

'background-color'
属性是否具有值
'#111'

测试运行程序是 Jest,我使用测试实用程序库 Enzyme

reactjs unit-testing jestjs enzyme styled-components
2个回答
16
投票

jest-styled-components
toHaveStyleRule功能解决了我的问题!

import 'jest-styled-components'

describe('<Button> component', () => {
  it('should have myColor', () => {
    const wrapper = mount(<Button />);
    expect(wrapper.find('Button')).toHaveStyleRule('background-color', myColor)
  });
});

0
投票

这是我编写样式组件测试用例来测试CSS的方法,它可能会有所帮助并且易于编写

import renderer from "react-test-renderer";

describe("Styled Components", () => {
  it("<Button  /> should have the correct styles", () => {
    const component = renderer.create(<Button />).toJSON();
    expect(component).toHaveStyleRule("background-color", myColor);
  });
});

谢谢你

© www.soinside.com 2019 - 2024. All rights reserved.