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

Unit testing 如何在多个测试类中运行一组junit测试?,unit-testing,testing,junit,Unit Testing,Testing,Junit,在我的webapp中,有多个屏幕具有公共webelement。我想断言所有这些公共元素都存在于每个页面上。但是我不想把我所有的断言放在一个实用程序函数中,如果一个断言失败,该函数将中途中止。我希望每个断言都有单独的测试用例,并在多个测试类(每个页面一个)中运行这组测试 我读到继承是一个坏主意,因为您必须比立即测试类更深入地挖掘,以查看正在运行的所有测试。但同时,我不想维护跨页面通用的测试的多个副本。同样的规则适用于测试开发,也适用于其他开发,您可以做您和您的团队认为最容易理解的事情。您有以下选项

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


我读到继承是一个坏主意,因为您必须比立即测试类更深入地挖掘,以查看正在运行的所有测试。但同时,我不想维护跨页面通用的测试的多个副本。

同样的规则适用于测试开发,也适用于其他开发,您可以做您和您的团队认为最容易理解的事情。您有以下选项:

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

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


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

    同样的规则适用于测试开发,也适用于你的其他开发,你做你和你的团队认为最容易理解的事情。您有以下选项:

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

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


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

    你应该做对你和你的团队有用的事。你应该做对你和你的团队有用的事。