问题描述
我们有一个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 (将#修改为@)