我有一个测试用例,我需要渲染一个组件,然后检查渲染的组件。这个渲染的值取决于组件内部使用的变量。
Triangle.tsx:
export const Triangle = ({
prop1,
prop2
}: Props): JSX.Element => {
const [variable1] = useVarState();
if(!variable1) {
return <></>;
return (<div></div>);
字符串
TriangleTest.tsx:
describe('Testing component', () => {
test('Main Elements', () => {
const prop1 = jest.fn();
const prop2 = undefined;
const container = render(
<Triangle
prop1={prop1}
prop2={prop2}
/>
);
const triangle = container.container.querySelector(
'.Triangle'
);
expect(triangle).not.toBeNull();
}
}
型
如何模拟变量的值?useVarState
返回基于useContext
的Map。
1条答案
按热度按时间yrdbyhpb1#
在继续之前,请确保
Triangle
组件为其div
元素分配了一个类名,以便可以在测试用例中识别和选择它:字符串
这应该解决你的问题。
**编辑:**更新代码。