静的にネストされたクラスだけでなく、外部クラスにも@Testメソッドがあります。
@ RunWith(Enclosed.class)はすべてのネストされたテストを実行しますが、これらと外部の最上位クラスのテストを実行するにはどうすればよいですか?
開発中の新しいJUnit5では、ネストされた内部クラスでのテストが可能です:http: //junit.org/junit5/#nested-tests
これにより、テストとネストされたクラスの両方が実行されます。また、Enclosed
JUnit 4ランナーとは異なり、JUnit 5は、内部クラスからのすべてのテストの前後に、外部クラスのメソッド@Before
とメソッドを実行すると思います(これにより、describe/itと同様の方法でテストを記述できます。 rspec@After
の構文)。
( JUnit 5がIDEなどからより多くのサポートを受ける前に、JUnit4を使用してJUnit5を実行することもできます)。
NestedRunnerと呼ばれるサードパーティのランナーもあります。これもあなたが望むことをするだろうと私は信じていますが、私はそれを試していません。
Enclosed
最上位クラスのテストは実行せず、静的内部クラスのテストのみを実行します。
テストを内部クラスに入れます。