gpt4 book ai didi

unit-testing - 如何在多个测试类中运行一组 junit 测试?

转载 作者:行者123 更新时间:2023-11-28 20:46:33 25 4
gpt4 key购买 nike

在我的 webapp 中,有多个屏幕具有共同的 webElements。我想断言每个页面上都存在所有这些公共(public)元素。但我不想将我所有的断言放入一个实用函数中,如果一个断言失败,它将中途中止。我想为每个断言创建单独的测试用例,并在多个测试类(每个页面一个)中运行该组测试。

我读到继承是一个坏主意,因为你必须比直接测试类更深入地挖掘才能看到所有正在运行的测试。但与此同时,我不想维护跨页面常见的多个测试副本。

最佳答案

适用于测试开发的规则与适用于其余开发的规则相同,您可以按照您和您的团队认为最容易理解的方式进行操作。您有以下选择:

  1. 继承:在父类中定义测试。我在 JUnit 测试中使用了继承,包括父类中的测试。这很有效,而且效果很好,主要优点是它节省了重复代码。缺点:你必须在多个地方寻找你的测试。当您在 Eclipse 的 Junit View 中双击测试名称时,它会将您带到父类,这有时会让人感到困惑。

  2. 有一个类专门用于测试页面的通用功能,我们称之为 PageTest。 PageTest 将使用@Parameterized 来测试所有页面。优点:您对常见内容的所有测试都是集中的。缺点,如果添加页面,需要将页面添加到列表中。如果可能的话,您可以通过使用反射来避免向列表中添加内容。我们有一组测试在类路径中搜索从某个类(在本例中为 struts Action)继承的任何类,并对该类运行一些测试。

在这两个选项中,我会选择前者,因为它的工作量较少;单个页面的所有内容都在一个地方,您永远不会“忘记”测试公共(public)元素。但这是您的项目,做对您有用的事情。

关于unit-testing - 如何在多个测试类中运行一组 junit 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7605875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com