如何测试一个已经被调用或未被调用的函数

时间:2020-06-04 02:54:48

标签: typescript react-native jestjs

这是我的示例代码,在这里,我需要在组件安装后测试 regenerate 函数,并且需要确保 qrCodeUrl Qrcode 的em> 是否已更改

export function Component() { 
 const [qrCode, setQrCode] = useState("initialUrl");

const regenerate = () => {
   getUrl = ApiCall;
   serQrCode(getUrl);
}

useEffect(() => {
  const regenerate = async () => {
    const qrCodeUrl = await someCall();
    setQrCode(qrCodeUrl);
  };
  regenerate(); 
}, [])

return (
   <View testID="qrCodeWrapper">
     <Qrcode url={qrCode} />
   </View>
)

}

这是我的测试文件

test("Has to ensure that QR code is refreshed", async () => {
    const { environment, getByTestId } = render(Component);
    await resolveMostRecentOperation<ComponentQuery>(environment);
    const qrCodeWrapper = getByTestId("qrCodeWrapper");
    expect(qrCodeWrapper.props.children).toBeDefined();
    expect(qrCodeWrapper.props.children.props.url).toBe(`${appConfig.baseUrl}snapshot/initialUrl`);
  });

该测试工作正常,但是在组件安装后我无法获得更新的 url ,它始终显示 initialUrl < / strong>

lang:本机,开玩笑,@ testing-library / react-native

0 个答案:

没有答案