Java 在相同的测试运行更多次的情况下,如何区分junit测试运行的是哪个测试套件?
我有JUnit主测试套件。此套件包含许多套件-针对每个测试配置Java 在相同的测试运行更多次的情况下,如何区分junit测试运行的是哪个测试套件?,java,junit,jenkins,automated-tests,tycho,Java,Junit,Jenkins,Automated Tests,Tycho,我有JUnit主测试套件。此套件包含许多套件-针对每个测试配置 @RunWith(ProgressSuite.class) @SuiteClasses({ SimpleTest.class, AboutTest.class, CDH4_JDBC_TestSuite.class, CDH5_JDBC_TestSuite.class, CDH4_Metastore_TestSuite.class,
@RunWith(ProgressSuite.class)
@SuiteClasses({
SimpleTest.class,
AboutTest.class,
CDH4_JDBC_TestSuite.class,
CDH5_JDBC_TestSuite.class,
CDH4_Metastore_TestSuite.class,
CDH5_Metastore_TestSuite.class,
CDH4_JDBC_Kerberos_TestSuite.class,
CDH5_JDBC_Kerberos_TestSuite.class,
CDH4_Metastore_Kerberos_TestSuite.class,
CDH5_Metastore_Kerberos_TestSuite.class,
})
public class TestSuite {
}
每个测试配置的套件都包含相同的测试用例,但包含不同的setUpClass()和tearDownClass()方法
我使用詹金斯和第谷进行建筑测试。当我运行测试套件并且一些测试失败时,我无法区分哪些配置测试失败。在Jekins中,我只能看到一些信息,例如NewFolderFromToolbar测试运行了8次(3次失败,5次通过)。当然,我可以从日志中获取所需的信息,但这很耗时
有没有办法获取所需信息?e、 使用不同的测试结构,使用不同的jenkins插件,如果可能的话动态重命名方法等等?有什么想法吗?非常感谢您可以将测试类抽象化,并使每个配置成为一个子类
public class CDH4NewFolderFromToolbarTest extends AbstractNewFolderFromToolbarTest{
//...
}
然后在套件中调用特定的测试类
RunWith(Suite.class)
@SuiteClasses({
CDH4PerspectiveSwitchTest.class,
CDH4NewFolderFromToolbarTest.class,
CDH4RenameFolderFromToolbarTest.class,
CDH4RenameFileFromToolbarTest.class,
//...etc
})
public class CDH4_JDBC_Kerberos_TestSuite {
//same as before
}
我主张不要在每个子类中重新配置,因为
@BeforeClass
和@AfterClass
如果放在套件中只会被调用一次。感谢您的回复,但这个解决方案并不能让我满意。可能会有很多测试配置,我不知道将来会添加多少。我不想为每个可能的配置扩展每个测试。我需要更通用的解决方案。
RunWith(Suite.class)
@SuiteClasses({
CDH4PerspectiveSwitchTest.class,
CDH4NewFolderFromToolbarTest.class,
CDH4RenameFolderFromToolbarTest.class,
CDH4RenameFileFromToolbarTest.class,
//...etc
})
public class CDH4_JDBC_Kerberos_TestSuite {
//same as before
}