<div className="errorMsg" hidden={props.error === true ? false : true}>
Error message text
</div>
如果props.Error
为false,我将隐藏此div,如果为true,则将其显示。我试图根据道具价值测试文本是否出现。由于我使用的是浅层渲染,因此无论隐藏是否为真,测试expect(wrapper.find('.errorMsg').length).toEqual(1);
总是会通过。我使用浅层渲染,因为这对于我的其他测试是必需的,到目前为止,我已经尝试过:
expect(wrapper.find('.garmentOriginErrorMsg').length).toEqual(0);
expect(wrapper.find('.errorMsg')).toHaveProperty('props', 'hidden: true')
expect(wrapper.find('.errorMsg').displayed()).toBeFalsy()
expect(wrapper.find('.errorMsg').hasStyle('display', 'none')).toBe(true)
使用浅层渲染是否有可能,还是我使用mount的唯一选择?
答案 0 :(得分:1)
这应该适用于shallow
:
expect(wrapper.find('.errorMsg').props().hidden).toBe(true);
此外,props.error === true ? false : true
可以简单地写为!props.error