java 如何配置JUnit测试套件?

snz8szmq  于 2023-06-28  发布在  Java
关注(0)|答案(3)|浏览(131)

我有一个Java项目,它具有分层结构。每次提交时,Hudson构建都会与所有测试用例一起运行,以确保代码不会被新的更改破坏。但是由于要运行持久性(Hibernate)层的测试用例,这可能会花费相当多的时间。此外,还有一个Sonar构建,每天晚上运行。
现在我正在寻找一种优化测试运行的方法。我想从哈德逊构建中删除持久层测试,只在Sonar中运行它。现在它应该有两个不同的测试套件(配置文件)。
任何建议非常感谢。

kr98yfug

kr98yfug1#

似乎您正在寻找使用JUnit Categories -https://weblogs.java.net/blog/johnsmart/archive/2010/04/25/grouping-tests-using-junit-categories-0
然后,可以配置生成服务器,使其在不同时间运行特定类别
更多信息-https://github.com/junit-team/junit/wiki/Categories

ca1c2owp

ca1c2owp2#

我认为您需要分为两个测试阶段:

  • 单元,用于快速运行的测试
  • 集成,对于Hibernate风格的较慢的。

单元测试由Surefire插件运行,集成测试由Failsafe运行
这些测试在maven标准构建生命周期的不同阶段运行,因此您可以将集成测试设置为仅在您的SONAR构建上运行。

cx6n0qe3

cx6n0qe33#

如果您使用的是Junit 4.8或更高版本,则可以使用JUnit Categories来分离测试,并仅运行某些类别中的测试。
有关详细信息,请参阅:

相关问题