私は長いパラメーター化されたテストを書きました。そのパラメーターの 1 つは、2D 配列の行ごとに異なるオブジェクトを構築するための二重ブレース構文を使用したコンストラクター呼び出しです。
Object[][] data = new Object[][] {
{ 1, 2, 3, new Blah() {{ setA(); }} }
{ 1, 2, 3, new Blah() {{ setB(); }} }
...
JUnit の哲学は、各 @Test でテスト ケース コンストラクターを呼び出すことであるため、パラメーター化されたテストでも同じことが行われると想定していましたが、そのコンストラクター (パラメーター化されたテスト用に定義されたコンストラクター) のみを呼び出していることがわかります。行ごとに 1 回であり、行ごとのテストごとに 1 回ではありません。
そのため、テスト フィールドはグローバルに動作し、テストは相互に影響しています。通常の JUnit ランナーと同様に、ランナーに各テストのコンストラクターを強制的に呼び出す方法があるかどうかを知りたいです。この場合、Google と JUnit のページは役に立ちません。テスト全体を書き直すのは避けたいと思います。これは、この時点で広範でかなり読みやすいものです。