当TypeScript阻止我时,我如何向测试库的React Native组件添加testId属性



我正在使用TypeScript编写React Native组件,并使用React NativeTesting Library对其进行测试。

我想在React Native组件上加一个testId属性,如下所示:

<TextInput testId="foo" />

然后在这样的测试中引用它:

it('receives a search string', () => {
const { getByTestId } = render(<FooComponent />);;
const textBox = getByTestId("foo");
fireEvent.changeText(textBox,"some fake text");
expect(textBox.value).toEqual("some fake text");
});

但是TypeScript不允许我在组件上放置testId属性,因为当然,TypeScript正在向React Native询问有效属性,而React Nation对testId一无所知;testId是@testinglibrary/areact-native的一部分。

如何让TypeScript识别添加的属性,如来自@testinglibrary/react-native的testId

发现问题。testId应该是testID。我只是简单的打字错误。

如果有人发现了这一点,问题不在于TypeScript根本不知道testID属性。你不需要npm install @types/whatever。它们已经被认为是安装RNTL的一部分。

相关内容

  • 没有找到相关文章

最新更新