如何解决讨论:是否可以测试库渲染的元素的innerHTML?
我们有一个React,Material-UI
项目,我们正在为此进行测试。
今天我们进行了讨论:我的一位同事编写了测试,以确保在某种情况下,材料UI中的<DoneIcon />
会在容器内呈现。
他所做的是从浏览器的检查器中复制HTML,并断言所呈现的内容是否正是这一点。
代码看起来像这样:
const svgHTMLEnable =
'<svg class="MuiSvgIcon-root MuiSvgIcon-colorPrimary MuiSvgIcon-fontSizeSmall" focusable="false" viewBox="0 0 24 24" aria-hidden="true" title="Enable"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"></path></svg>';
test('something',() => {
// Arrange
const { getByTestId } = render(<MyComponent />);
// Act
// ...
// Assert
expect(getByTestId('container-ti')).toHaveHTML(svgHTMLEnable);
})
我说我不同意,我唯一能想到的就是如果我们更新 Material-UI
库,我们的测试将失败。
他将代码辩护为我想测试此处呈现的内容,确切是Checkbox图标,什么也没有;如果 Material-UI
库更新,那么我们只需要触摸一个地方。
好吧,我怀疑代码是否正确,这是一个很好的测试。你怎么看?您认为该测试会增加价值吗?做这样的事对吗?有什么方法可以满足该测试的需求吗?
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。