gpt4 book ai didi

reactjs - react native 无法找到具有 testID 的元素

转载 作者:行者123 更新时间:2023-12-03 16:48:22 25 4
gpt4 key购买 nike

我收到此错误:

Unable to find an element with the testID of: input-text


Input.js :
import React from "react";
import { View, StyleSheet } from "react-native";
import { Text, TextInput } from "react-native-paper";

const Input = (props) => {
return (
<View>
<TextInput
name={props.name}
keyboardType={props.keyboardType}
value={props.value}
label={props.label}
mode="outlined"
onChange={(newVal) => props.onChange(props.name, newVal)}
required={props.required}
data-testid="input-text"
/>
<Text>{props.errors}</Text>
</View>
);
};

export default Input;
输入-test.js :
import React from "react";
import { Input } from "../components/common";

import { render, fireEvent } from "@testing-library/react-native";

import renderer from "react-test-renderer";

const setup = () => {
const utils = render(<Input />);
const input = utils.getByTestId("input-text");
return {
input,
...utils,
};
};

test("It should display empty value", () => {
const { input } = setup();
fireEvent.change(input, { target: { value: "" } });
expect(input.value).toBe("");
});
我使用的原因 getByTestId是因为输入名称是动态的,
它使用表单多次呈现,
因此我不能使用其他任何东西。
我究竟做错了什么?
谢谢您的帮助。

最佳答案

我被同样的事情捕获了。正如错误消息所解释的,测试库正在寻找一个名为 testID 的 Prop 。 ,不是 data-testid如核心文档中所述。尝试将 Prop 更改为 testID="input-text"它应该工作。

关于reactjs - react native 无法找到具有 testID 的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62990240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com