ウィケットスターフォームを2回送信し、最初に表示されたエラーメッセージが2回目の送信で削除されたことを確認するのに問題があります。
以下のコードでは、最初にエラーメッセージを表示している空のフォームを送信します。次に、同じフォームを送信しますが、有効な入力を使用して、最初の実行からのエラーメッセージが削除されたことを表明します。
テストは正しく実行されているようですが、テスト対象のJavaコードを変更して、検索が送信されたときにエラーメッセージが削除されないようにすると、2回目にテストでエラーメッセージがないと断言されます...テストの2回目の送信は、最初の送信と同じ場所から開始されているようです。したがって、最初の送信は私のテストに参加していません。
@Test
public void assertThatErrorMessagesAreRemoved() {
PageParameters pp = new PageParameters();
// given
WicetTester tester = new WicketTester(new MyApplication());
tester.startComponentInPage(new MyPanel("myPanel", pp));
//when
FormTester form = tester.newFormTester("panel:formcontainer:form");
form.submit();
// then
tester.assertErrorMessages("searchTerm.Required_value");
//and given
form = tester.newFormTester("panel:formcontainer:form");
form.setValue("searchTerm", "a");
//when
form.submit();
// then
tester.assertNoErrorMessage();
}