"IT.java"文件名后缀(而不是“Test.java”)是否用于JUnit集成测试是一种约定吗?"

10
我习惯于以*Test.java结尾的方式为我的JUnit集成测试命名,例如DatabaseConnectionTest.java,并将它们放置在它们自己的集成测试目录中:test/integration/com... 加入一个新项目后,我被告知:
“不,所有测试都放在一个目录中,我们通过匹配文件名后缀来区分单元测试和集成测试。”
因此,我的文件上面的名称将变成DatabaseConnectionIT.java 现在我可以理解这种逻辑。测试运行器脚本只需按照要查找的文件进行模式匹配,并且所有测试都位于一个位置。
但我以前从未听说过这个惯例。
我的问题是:JUnit集成测试的'IT.java'文件名后缀(而不是'Test.java')是一种惯例吗?

在我看来,似乎和 INT 用于接口一样成为了一种惯例。 - Pieter De Bie
这是一个在你所处的环境中的惯例,已经足够了。这不是普遍的惯例,例如,我按目录分组测试类型,因此文件和类名没有奇怪的缩写。 - Dave Newton
1
这是Maven Failsafe插件识别的默认模式,所以这并不令人惊讶。...你具体有什么问题? - kryger
1个回答

21

IT.java后缀是Maven Failsafe Plugin使用的惯例。测试目录中所有具有后缀IT的类都会在integration-test阶段由该插件执行。(具有后缀Test的测试在test阶段由Maven Surefire Plugin执行。)


1
failsafe 也会执行使用 groups 参数指定的类别注释的测试。https://maven.apache.org/surefire/maven-failsafe-plugin/examples/junit.html - dkatzel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接