例如,
ComponentA.tsx:
const ComponentA = () => {
return (
<>
<ComponentB/>
</>
)
}
ComponentA.test.tsx
describe("ComponentA", () => {
it("Calls ComponentB in render", () => {
render(<ComponentA/>);
const componentB = <ComponentB/>;
expect(componentB).toHaveBeenCalledTimes(1);
});
});
尝试了上面的方法,但测试仍然失败。我希望类似的东西能起作用,我尝试了上面的其他变体,但仍然没有通过测试。有一次,我在expect周围运行了一个类似的东西,它通过了,但通过测试没有正确通过。
1条答案
按热度按时间gojuced71#
toHaveBeenCalled(..)
使用mock函数。要测试
ComponentA
是否调用ComponentB
,可以创建一个mockComponentB
函数并示例化<ComponentA/>
: