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

时间:2011-09-30 04:11:58

标签: unit-testing testing junit

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

我读到继承是一个坏主意,因为那时你必须深入挖掘直接测试类以查看正在运行的所有测试。但与此同时,我不希望维护多个页面共同的测试副本。

1 个答案:

答案 0 :(得分:1)

同样的规则适用于适用于您的其他开发的测试开发,您执行的是您和您的团队最容易理解的内容。您有以下选择:

  1. 继承:在父类中定义测试。我使用了JUnit测试的继承,包括父类中的测试。这项工作和运作良好,主要优点是它保存了重复的代码。缺点:您必须在多个地方查看测试。当您在Eclipse中的Junit视图中双击测试名称时,它会将您带到父类,这有时会令人困惑。

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

  3. 在这两个选项中,我会选择前者,因为它的工作量较少;单个页面的所有内容都在一个地方,您永远不会“忘记”测试常见元素。但这是你的项目,做适合你的事。