TestNGを使用してTestケースを設定します。私が断言すべきことが何かに当たると、そのテストはとにかく進みます。私はリストと文字列としてそれらを比較しようとしました。実際は次のようになります。Testng 6.9.10 assertEquals()が失敗しないようにする
actual = [The license key was not valid.,
The license key has expired and is no longer valid.,
That email domain is not allowed.,
The maximum number of allowed users for that license key has been reached. No other users may register unless a user is removed or the user limit for that key is increased.,
That license key does not have a valid start date, the administrator must define an effective date for the license key.]
私が使用しているコードは以下のとおりです。実際と予想ははっきりと異なりますが、テストは引き続き行われます。私はTestNG 6.9.10を使用しています。 assertEqualsでバグがある場所をどこからでも見つけることができませんでした。
import org.testng.annotations.*;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertTrue;
@Test
public void verifyLicencingErrorsTest() {
List<String> expected = Arrays.asList(
"The license key was not valid.",
"The license key has expired and is no longer valid.",
"The license key was not valid.",
"The maximum number of allowed users for that license key has been reached. No other users may register unless a user is removed or the user limit for that key is increased.",
"That license key does not have a valid start date, the administrator must define an effective date for the license key."
);
List<String> actual = createAccountPage.verifyLicencingErrors();
try {
assertEquals(actual.toString(), expected.toString(), "The actual alerts did not match what was expected");
} catch (Error e) {
verificationErrors.append(e.toString());
}
}
私は必要なすべての情報を提供していると思います。もっと必要なら私に知らせてください。
編集:TestNG Assert documentationあたりとして追加輸入
あなたの 'import'sとは何ですか?また、あなたはあなたのアサートをtry..catchの中に入れていますか?どうして?それは決して失敗しません! – SiKing
@SiKingはコードブロックにインポートを追加しました。私は今参照してください。私はもともとこれをJUnitとTestNGでセットアップしました。 JUnitは例外をスローしてテストをすべて止めるので、try/catchを追加する必要がありました。この作業を正しく行うためには、すべてを変更する必要があるように見えます。返信してくれてありがとう! –
JUnitまたはTestNGのようなフレームワークによってスローされた例外は、スイート全体を停止させることはまずありません。通常は、それらのすべてを実行する必要がありますが、最後にはテストの実行回数、失敗、およびスキップが報告されます。いずれにせよ、あなたが本当に必要であれば、少なくとも「例外」をキャッチしてはいけません(http://stackoverflow.com/questions/352780/when-to-catch-java-lang-error)。例外がスローされたかどうかをテストすることです。@Templateアノテーションの 'expectedExceptions'機能を使用することができます。 – Morfic