typescript - 如何测试已被调用或未调用的函数
问题描述
这是我的示例代码,这里我需要在组件挂载后测试regenerate功能,并且我需要确保qrCodeUrl是否已针对Qrcode组件进行了更改
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
lang: react-native, jest, @testing-library/react-native
解决方案
推荐阅读
- c# - 统一触摸某个图层时如何重置播放器的位置?
- apache-camel-k - Camel K 和 Amazon EKS(弹性 Kubernetes 服务)
- xcode - 更新到最新版本 RN 0.64.0 后,React 本机应用程序将无法运行
- unity3d - 你好。想请教一个问题,如何解决在Unity中集成多个项目
- python - re.finditer 出现“预期的字符串或类似字节的对象”错误
- javascript - 有没有办法使用 s3-zip 以片段的形式将 zip 流式传输到 s3 存储桶?
- azure-active-directory - 如何获取使用 MS Teams 的 Microsoft 个人帐户的 aadObjectId
- flutter - flutter GridView + Card,Text Bottom溢出问题
- c# - 如何在 Acumatica ERP 系统(版本 2021 R1)的账单和调整屏幕的报告按钮中创建附加菜单选项
- react-native - 在 React Native 中使用核心节点包