代码之家  ›  专栏  ›  技术社区  ›  stiank81

在使用适当的抽象时,我们是否需要对GUI进行单元测试?

  •  1
  • stiank81  · 技术社区  · 14 年前

    具有良好的设计模式 MVP , MVC 等等,我们的目标是将所有逻辑移出GUI。这给我们留下了一个轻量级的GUI,理想情况下只需要将它的按钮和字段“绑定”到一些业务逻辑层中的属性。这是一个很好的方法,因为这一层将不包含GUI内容,并且我们可以很容易地为它编写单元测试。

    我的问题是:这够了吗?还是应该对GUI层进行单元测试?

    2 回复  |  直到 14 年前
        1
  •  4
  •   amorfis    14 年前

    imho如果从GUI中删除整个逻辑,则不需要自动测试它。当然,您仍然需要运行它来查看它是否应该运行:)

    这是关于单元测试的。对于集成测试来说,如果可能的话,测试所有东西仍然是好的,例如硒。

        2
  •  1
  •   Faisal Feroz    14 年前

    有时,图形用户界面并不是那么愚蠢。例如,可能有拖放支持、自定义组件,它们根据放置位置显示内容,等等。在这种情况下,需要在集成测试和单元测试中分别测试这些东西。

    大多数时候,集成测试都是从UI层开始的,我们最终也会在这些场景中测试很多UI层。我曾经读过一篇关于单元测试的评论,你不需要为容易被破坏的代码编写测试,例如getter/setter很容易被破坏(例如getter返回它应该做的值,我们可以不返回值而轻易地破坏它),所以我们不需要最后为getter和setter编写单元测试,除非其中嵌入了一些逻辑(在这种情况下,这些实际上不是getter和setter)。

    因此,如果GUI完全是哑的,并且其中只有绑定,那么就不需要单元测试。