---
当前位置: 首页 > 新闻中心

软件测试前端单测,为什么不要测“实现细节”?

0
作者:软件测试小编 发布时间:2022-12-30 浏览次数: 打印

【软件测试前端单测,为什么不要测“实现细节”?】

 相信不少同学在写单测的时候,最大的困扰不是如何写测试代码,而是:“应该测什么?”,“要测多深入”,“哪些不该测”。  最近在给 React 组件写单测的时候,发现了 Kent (React Testing Library 的贡献者之一... 前言 翻译中会尽量用更地道的语言,这也意味着会给原文加一层 Buf  我以前用 enzyme 的时候,都会尽量避免使用某些 API,比如 shallow renderinginstance()state() 以及 find('ComponentName'),而且 Review 别人的 PR 的时候,也会跟他们说尽量别用这些 API。这样做的原因主要是因为这些 API 会测到很多代码的实现细节 (Implementation Details)。 然后,很多人又会问:为什么不要测 代码的实现细节(Implemantation Details) ?很简单:测试本身就很困难了,我们不应该再弄那么多规则来让测试变得更复杂。 为什么测试“实现细节”是不好的? · 假错误(False Negative):重构的时候代码运行成功,但测试用例崩了。 · 假正确(False Positive):应用代码真的崩了的时候,然而测试用例又通过了。

ruanjianceshi (8).jpg