我有一个使用 create react app 创建的项目。可以说我有一个像这样的简单组件-
import React from 'react';
import React, { useState } from "react";
function Example() {
const [data, setData] = useState(0);
const onClickHandler = () => {
setData(data + 1);
};
return (
<div className="button" onClick={onClickHandler}>
{data}
</div>
);
}
export default Example;
我将像这样测试组件 -
import React from "react";
import { shallow } from "enzyme";
import Example from "./Example";
it("example test", () => {
const wrraper = shallow(<Example />);
wrraper.find(".button").simulate("click");
expect("test somethig");
});
如果我会像这样使用styles.module -
import React, { useState } from "react";
import styles from "./styles.module.scss";
function Example() {
const [data, setData] = useState(0);
const onClickHandler = () => {
setData(data + 1);
};
return (
<div className={styles.button} onClick={onClickHandler}>
{data}
</div>
);
}
export default Example;
我将无法再使用“.button”在测试中找到元素,因为当我使用 css 模块时,webpack 会在我的类名中添加一个哈希。那么如何在使用 css 模块时测试反应组件?仅通过向元素添加 Id ?更改我的代码是错误的,因此我将能够对其进行测试。
谢谢,迪娜