Reactjs 如何测试React元素的特定css属性值?
我想用酶检查特定的css属性值。为组件设置样式,使用了情感css助手 让我们假设下一种情况:Reactjs 如何测试React元素的特定css属性值?,reactjs,jestjs,enzyme,emotion,Reactjs,Jestjs,Enzyme,Emotion,我想用酶检查特定的css属性值。为组件设置样式,使用了情感css助手 让我们假设下一种情况: it('title has font-size 20px', () => { const titleCss = css` font-size: 20px; `; const mountedTitle = mountWithTheme(<h1 className={titleCss}>Title</h1>); expect(mountedTitle
it('title has font-size 20px', () => {
const titleCss = css`
font-size: 20px;
`;
const mountedTitle = mountWithTheme(<h1 className={titleCss}>Title</h1>);
expect(mountedTitle).toHaveStyleRule('font-size', '20px');
});
it('标题的字体大小为20px',()=>{
常数titleCss=css`
字体大小:20px;
`;
const mountedTitle=mountWithTheme(标题);
期望(mountedTitle).toHaveStyleRule('font-size','20px');
});
在这里:
- mountWithTheme——只是一个包装在渲染方法上,但允许传递主题
- toHaveStyleRule是匹配器
我还考虑过使用Ezyme render helper来创建实际的html,但cheerio wrapper似乎也无法访问css值。如果您使用的是Ezyme,请使用
render
方法
import React from 'react';
import { render } from 'enzyme';
import Component from '.';
describe('test css', () => {
it('test font size', () => {
const wrapper = render(<Component />);
expect(wrapper.find('h1')).toHaveStyleRule('font-size', '20px');
});
});
从“React”导入React;
从“酶”导入{render};
从“”导入组件;
描述(‘测试css’,()=>{
它('测试字体大小',()=>{
const wrapper=render();
expect(wrapper.find('h1')).toHaveStyleRule('font-size','20px');
});
});
如果您使用的是酶,请使用渲染方法
import React from 'react';
import { render } from 'enzyme';
import Component from '.';
describe('test css', () => {
it('test font size', () => {
const wrapper = render(<Component />);
expect(wrapper.find('h1')).toHaveStyleRule('font-size', '20px');
});
});
从“React”导入React;
从“酶”导入{render};
从“”导入组件;
描述(‘测试css’,()=>{
它('测试字体大小',()=>{
const wrapper=render();
expect(wrapper.find('h1')).toHaveStyleRule('font-size','20px');
});
});
不确定,但可能是fontSize
?@Alex,不,相同的错误。不确定,但可能是fontSize
?@Alex,不,相同的错误。