今日、私はの問題に巻き込まれました@SuiteClasses
。
私は最近、比較的若い/経験の浅いチームで新しいプロジェクトに参加し、プロジェクトテストアーキテクチャの欠点を発見しました。
@SuiteClassesとしてマークされたクラスを含むテストファイルは、通常のテストと同じパッケージに配置されます。
includes
surefire
プラグインのタグ<include>com/company/project/core/**/*Test.java</include>
は私たちのように見え、次のようなpom.xml
スイートの命名スキーマがあります。<PREFIX>SuiteTest.java
したがって、mvntestコマンドは同じテストを2回以上実行します。最近、私
DbUnit
はプロジェクトに統合しました。IDEからのDbUnitテストまたはIDEからのDbUnitテストを参照するtest-suiteの実行は問題ありません。しかし、コマンドラインから、テストスイートがDbUnitテストを参照している場合、DbUnitテストに永久に留まりました。これにより、CIJenkins
はプロジェクトの構築とテストチームへの配信を停止します...
問題の根本は、テストスイートのスキーマの命名にあります。
スイートを通常のテストと同じパッケージに入れるか、次のような別のパッケージを使用する権利はありますか?
com.company.project.testsuites
<PREFIX>SuiteTest.java
または、(使用する代わりに)通常のテストと区別するために、テストスイートに異なる命名スキーマを使用することもできます<PREFIX>TestSuite.java
か?あなたはあなたの練習からどの名前を提案しますか?