这是我的示例代码,在这里,我需要在组件安装后测试 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