今天我遇到了@SuiteClasses
的问题。
我最近加入了相对年轻/缺乏经验的团队的新项目,并发现项目测试架构存在缺陷:
将标记为@SuiteClasses的类的测试文件放在与常规测试相同的包中。
我们的includes
中surefire
插件的 <include>com/company/project/core/**/*Test.java</include>
标签看起来像pom.xml
,我们为套房命名架构,如:<PREFIX>SuiteTest.java
所以 mvn test 命令执行两次或更多次相同的测试......
最近我将DbUnit
整合到了项目中。从IDE或测试套件运行DbUnit测试,从IDE引用DbUnit测试是可以的。但是从命令行开始,如果任何测试套件引用任何DbUnit测试,它将永远停留在DbUnit测试上。这导致CI Jenkins
停止构建并向测试团队交付项目......
问题的根源在于为测试套件命名模式。
将套房放入与常规测试相同的包装中是否正确,或使用单独的包装:
com.company.project.testsuites
或者可以对测试套件使用不同的命名方案,使它们与常规测试区别开来(而不是<PREFIX>SuiteTest.java
使用<PREFIX>TestSuite.java
)?你从练习中建议了哪些名字?