Wie füge ich ausführbare Dateien von „assertAll()“ zu einer Liste hinzu und führe sie am Ende der Testmethode aus?Java

Java-Forum
Anonymous
 Wie füge ich ausführbare Dateien von „assertAll()“ zu einer Liste hinzu und führe sie am Ende der Testmethode aus?

Post by Anonymous »

Die folgenden JUnit-Jupiter-Tests mit Mockito funktionieren einwandfrei:

Code: Select all

    @Test
void testVerifMethod() {
System.out.println("*** Start test verify method ***");

mockedList.add("first-element");
mockedList.add("second item");
mockedList.add("third element");
mockedList.add("4th string");
mockedList.add("fifth item");
mockedList.add("string added twice");
mockedList.add("string added twice");
mockedList.clear();

assertAll("Verify all interactions:",
() -> verify(mockedList).add("first-element"),
() -> verify(mockedList).add("4th string"),
() -> verify(mockedList).add("fifth item"),
() -> verify(mockedList, VerificationModeFactory.times(2)).add("string added twice"),
() -> verify(mockedList).clear()
);
}

@Test
void mockStaticTest() {
System.out.println("*** Started mockStaticTest ***");
UUID myuuID = UUID.randomUUID();
System.out.println("My Random UUID = " + myuuID.toString());
UUID randomuuID1 = UUID.randomUUID();
System.out.println("Random UUID 1 = " + randomuuID1.toString());
UUID randomuuID2 = UUID.randomUUID();
System.out.println("Random UUID 2 = " + randomuuID2.toString());

assertAll("Testing multiple UUIDs before Mock Static:",
() -> assertThat(randomuuID1, is(not(myuuID))),
() -> assertThat(randomuuID2, is(not(myuuID)))
);

assertThat(UUID.randomUUID(), is(not(myuuID)));

try (MockedStatic uuidMock = Mockito.mockStatic(UUID.class)) {
System.out.println("Now using Mock Static ...");
uuidMock.when(UUID::randomUUID).thenReturn(myuuID);
UUID mockeduuID1 = UUID.randomUUID();
UUID mockeduuID2 = UUID.randomUUID();
UUID mockeduuID3 = UUID.randomUUID();
System.out.println("Mock Static 1 = " + mockeduuID1);
System.out.println("Mock Static 2 = " + mockeduuID2);
System.out.println("Mock Static 3 = " + mockeduuID3);

assertAll("After Mock Static: ",
() -> assertThat(mockeduuID1, is(myuuID)),
() -> assertThat(mockeduuID2, is(myuuID)),
() -> assertThat(mockeduuID3, is(myuuID))
);
}
}
Ich habe versucht, die ausführbaren Dateien der AssertAll()-Methode zu einer ArrayList hinzuzufügen, aber es funktioniert nicht. Ich erhalte den Kompilierungsfehler „Der Zieltyp dieses Ausdrucks muss eine funktionale Schnittstelle sein“ in dieser Zeile „assertions.add( ()-> .... )“:

Code: Select all

private List assertions = new ArrayList();
...
...

assertions.add(() -> verify(mockedList).add("first-element"));
...
...
assertions.add(() -> assertThat(mockeduuID1, is(myuuID)));
Wie kann ich die Behauptungen in einer Liste zusammenfassen und am Ende der Testmethode ausführen?
Ich habe so viele Variationen der oben genannten ausprobiert , und der Kompilierungsfehler wird nicht verschwinden!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post