我在一个名为MyComponent
的组件中有以下React Native代码:
<Text> {Constants.MY_TEXT} </Text>
我正在尝试用酶像这样测试它:
const wrapper = shallow(
<MyComponent/>
);
expect(wrapper.find(<Text> {Constants.MY_TEXT} </Text>)).toHaveLength(1);
但是,测试失败,因为发现0
出现<Text> {Constants.MY_TEXT} </Text>
。
我认为这是因为wrapper.find
不理解我传递给它的论点。
我还尝试只搜索文本,没有标签:
expect(wrapper.find({Constants.MY_TEXT})).toHaveLength(1);
但是,此操作失败,并显示:
Unexpected token, expected ,
知道如何使测试看到Text
标签吗?
对于酶查找 api -> doc,它仅支持查找Component constructor
或Component name
。
所以尝试使用这种方式:
const wrapper = shallow(<MyComponent/>);
expect(wrapper.find(Text)).toHaveLength(1);
如果要测试text
,他们还提供文本 API