Ich habe eine Testmethode innerhalb einer Testklasse, wo ich ein paar Dinge verifizieren will, nur scheitern, nachdem ich in dieser spezifischen Testmethode soft.SoftAssert in Selen Test Klasse
Aber ich fühle meine Testmethode wird unordentlich mit Fehlerbehandlung. Ich konnte dazu keine Best Practices finden. Irgendwelche Ideen? Wenn ich die Behauptungen in die Seitenobjektklasse verschiebe, wird es auch dort etwas unordentlich.
@Test
public void test() {
// steps here
// then asserts here
SoftAssert soft = new SoftAssert();
String expectedHeaderText = "foo";
soft.assertTrue(pageObjectClass.isHeaderPresent(), "Unable to find the Header page object.");
soft.assertTrue(pageObjectClass.getHeader().contains(expectedHeaderText),
String.format("Expected to find '%s'. Page actually shows '%s'", expectedHeaderText, pageObjectClass.getHeader()));
// more asserts
sa.assertAll();
}
Es scheint ziemlich überflüssig zu sein, nach dem Vorhandensein des Headers zu suchen und dann den Text in der Kopfzeile zu überprüfen. Wenn Sie die erste Assertion auslassen und nur nach dem Kopftext suchen, behaupten Sie immer noch dasselbe: Die Kopfzeile ist vorhanden und der Text entspricht Ihren Erwartungen. Keep behauptet in der Testklasse, niemals in der Seitenobjektklasse, da dies keinen Sinn ergibt. Die Seitenobjektklasse sollte nur Selektoren und Getter/Setter und andere seitenbezogene Logik haben, dort sollten keine Assertions durchgeführt werden. – jaredgilmore