Sto sperimentando con il corridore JUnit Enclosed
per provare a migliorare l'organizzazione di alcuni dei miei test. Al momento sto cercando di capire come condividere alcune impostazioni tra le classi interne.JUnit Runner chiuso e configurazione condivisa
Tentativo la prima:
@RunWith(Enclosed.class)
public class EnclosedTest {
@Before
public void printSomething() {
System.out.println("Helllooo Meggan");
}
public static class FirstTest {
@Test
public void assertThatSomethingIsTrue() {
assertThat(true, is(true));
}
}
public static class SecondTest {
@Test
public void assertThatSomethingIsFalse() {
assertThat(false, is(false));
}
}
}
Purtroppo, nessuno dice ciao a Meggan. Se aggiorno una classe interna per estendere quello esterno, allora ottengo il seguente:
java.lang.Exception: class 'org.scratch.EnclosedTest$FirstTest' (possibly indirectly) contains itself as a SuiteClass
at org.junit.runners.model.InitializationError.<init>(InitializationError.java:32)
C'è una particolare Enclosed
linguaggio da usare quando si cerca di condividere l'installazione tra le classi di test interne? Speravo che sarebbe stato semplice come lo C# example I found.