【发布时间】:2020-10-29 20:08:24
【问题描述】:
我正在使用 react-native,我想测试一些功能。
我想检查何时向组件中插入一些文本,例如:“barak walk”。
- 它变为“BARAK WALK”。
- 当它太长时,将其与“BARAK WALK...”进行比较。
我不知道如何用酶检查它(我准备这次不要使用快照)
代码:
export default ({ text }: Props): JSX.Element => {
return (
<View style={styles.box}>
<Text numberOfLines={1} style={cardText}>
{text}
</Text>
</View>
);
};
const styles = StyleSheet.create({
box: {
height: 160,
width: 160,
},
cardText: {
color: Colors().ALWAYS_WHITE,
textAlign: 'center',
fontSize: 12,
fontFamily: AleckFonts.SANS_MEDIUM,
letterSpacing: 0.4,
lineHeight: 15,
padding: 6,
paddingLeft: 20,
paddingRight: 20,
textTransform: 'uppercase',
},
});
我试过这个,但它没有呈现文本:
test('Should check if text shown as expected', () => {
const receivedText = 'barak walk';
const expectedText = 'BARAK WALK';
const wrapper = shallow(<Card text={receivedText} />);
const textView = wrapper.find(Text).children();
expect(textView.text()).toBe(expectedText);
});
【问题讨论】:
-
你能检查一下
textView的值是多少吗?也许如果你这样做expect(textView).toBe(expectedText);,它可能会起作用.. -
@nishkaush,它不起作用:/
-
算出
textView的值是否幸运? -
@nishkaush,不,我收到此错误预期:“以旧换新”收到:“以旧换新”
-
你能不能试试-
wrapper.find(Text).children,不要把children作为函数调用,只是引用它
标签: react-native jestjs enzyme