gpt4 book ai didi

reactjs - 为什么 Enzyme 不从 React 组件加载样式?

转载 作者:行者123 更新时间:2023-12-05 07:00:44 25 4
gpt4 key购买 nike

我试图用 Jest 和 Enzyme 测试我的组件样式。我使用 TailwindCSS 作为我的 CSS 框架和非弹出的 create-react-app。所以这是我的组件:

import React from 'react'
import './tailwind.css' // the tailwind css

export function Alert({ children, className, icon, ...resProps }) {
return (
<div data-testid="qa-alert" className="my-2 p-3 text-lg bg-red-200 rounded-md flex items-center justify-center} {...resProps}>
{icon && React.createElement(icon, { className: 'mr-2 text-xl' })}
{children}
</div>
);
}

我想使用 getComputedStyle 方法测试背景颜色是否为红色(bg-red-200#fed7d7),这是我的测试:

it('Should have red background color', () => {
const wrapper = mount(<Alert />);
const alert = wrapper.find('div');
const style = getComputedStyle(alert.getDOMNode());
console.log(style);

expect(style.backgroundColor).toBe('#fed7d7');
});

但是测试失败,因为我没有得到背景样式。收到的值为空字符串。 style 的日志是

CSSStyleDeclaration {
'0': 'display',
_values: { display: 'block' },
_importants: { display: '' },
_length: 1,
_onChange: [Function]
}

如何获取样式?

最佳答案

你可以尝试使用jest-dom方法 toHaveStyle() :

expect(alert).toHaveStyle({backgroundColor: '#fed7d7'});

关于reactjs - 为什么 Enzyme 不从 React 组件加载样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64057353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com