2017-11-06 24 views

答えて

0

は、最後にそれが動作しませんExceptionであれば、それは、Throwableあるべきcatch blocklog4j
Assert errorを記録する最も簡単な方法を発見しました。

try { 
    Assert.assertTrue(hotel.getAmenitiesList().size() < 0, "Hotel Amenities Available!"); 

} catch (Throwable e) { 
    e.printStackTrace(); 
    logger.error("FAILED: testRoomAmenities ", e); 
    Assert.fail(); 

FAILとして呼び出されないこの実装の場合。シナリオがPASSEDであることが示されます。したがって、Assert.fail()を使ってください。FAILED

0

これが必要な場合は、if .. else構文を使用してログを記録できます。

if(null != availresponse) { 
    //log success message 
} else { 
    //log failure message 
} 

もう1つの方法は、TestListenerAdapterを実装するカスタムクラスを作成することです。完全なコード例hereを見ることができます。

+0

こんにちは、出力をAssertからlog4jに追加します。 –

+0

それに応じて、 'log.info'または' log.error'ステートメントをif構造体に追加してください。ログに記録する必要があります。 – Rao

0

ロガーでアサートをラップします。

log.info(Assert.assertNotNull(availresponse)); 

これは情報の点では少し制限されています。私は通常、やっていることは次のとおりです。私はそれが二回条件をテスト、手間の少し知っているが、それはあなたがロガーの出力レベルを調整し、あなたが考えるその他の情報を追加することができない

if(availresponse==null) 
{ 
log.fatal("availresponse was null"); 
} 

Assert.assertNotNull(availresponse); 

が有用であろう例えばavailresponseの内容を決定するために使用された変数。

また、あなたのログファイルに表示されるコンソール出力を取得しようとすることができ、その場合には、あなたのような何かを追加する必要があります:あなたのlog4jプロパティファイルへ

log4j.appender.stdout.Target=System.out 

を。

+0

こんにちは、出力をassertからlog4jに追加したいと思います。 –

+0

アサートは真または偽である傾向があります。その場合、条件をテストするアサートのラッパーは、条件が合格したか失敗したかを伝えます。あなたにメッセージを追加することができます。 Assert.assertNotNull(availresponse、 "ここにメッセージを挿入");条件が満たされない場合は、メッセージが表示されます。あなたが何か他のことについて話しているのであれば、あなたが参照しているコンソールからのコードと出力を表示できますか?ヌルポインターメッセージを参照している場合は、おそらくTestNGではなくJVMからのものです。 – user8537453

+0

うん。それは本当だ。あなたが言及したように、私はその出力をコンソールからlog4j.logファイルにそのまま追加したいと思います。私は何度も試みました。しかし、見つける方法はありません。 –

1

TestNGの出力をlog4j.logファイルに記録する簡単で簡単で完璧な方法が見つかりました。しかし、これは最終報告書の詳細をlog4jに記録することはできません(PASSまたはFAIL)。

implements ITestListener 

は、あなたはあなたが必要な方法でのlog4jロガーを追加することができ、未実装方法

public void onTestSuccess(ITestResult result) { 
    logger.info(result); 
} 

public void onTestFailure(ITestResult result) { 
    logger.info(result); 
} 

を追加します。楽しい!

0

test-outputフォルダはプロジェクトPATHにあります。 index.htmlには、テストの成功または失敗の出力が表示されます。

  • testMethod()が成功であれば、任意の出力結果がindex.htmlファイルに示しそこにはなります。

  • testmethod()が失敗すると、自動的に出力がファイルに出力されます。

    java.lang.AssertionErrorは、アサーションが失敗したことを示すためにスローされるエラーです。


誰もがTestNGのレポートにそのエラーを挿入する方法知っている場合、下記のコメント。

関連する問題