在Enzyme中查找包含内容的文本标签

时间:2017-11-28 18:11:05

标签: javascript react-native enzyme

我在名为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标签吗?

1 个答案:

答案 0 :(得分:3)

对于酶发现api - > doc,它只支持查找Component constructorComponent name

所以尝试使用这种方式:

const wrapper = shallow(<MyComponent/>);
expect(wrapper.find(Text)).toHaveLength(1);

如果您想测试text,他们还会提供text api