我正在使用TestNG,WebDriver和log4j編寫一些測試 我想記錄assert nomatter的結果,如果結果爲true或false。例如,當我寫這個代碼:如何記錄Assert的真實結果
Assert.assertTrue(condition)
我想在日誌中看到如果這是一個通過或失敗。現在,如果結果是FAIL,我只能看到任何日誌。 有沒有人有關於如何實現這一點的想法?
謝謝
我正在使用TestNG,WebDriver和log4j編寫一些測試 我想記錄assert nomatter的結果,如果結果爲true或false。例如,當我寫這個代碼:如何記錄Assert的真實結果
Assert.assertTrue(condition)
我想在日誌中看到如果這是一個通過或失敗。現在,如果結果是FAIL,我只能看到任何日誌。 有沒有人有關於如何實現這一點的想法?
謝謝
你可以覆蓋Assert-Class並自己觸發記錄器。
你的意思是它會通過MyAssert.assertTrue(condition)來記錄結果然後調用Assert.asserTrue? – Tom 2012-07-26 07:20:14
是的,我的意思是。如果記錄器沒有,你也可以使用MyAssert提供額外的記錄信息。 – rollstuhlfahrer 2012-07-26 08:03:23
沒有辦法告訴Assert
記錄一個成功的斷言。你可以這樣做:
Assert.assertTrue(condition);
logger.info(condition ? "PASS" : "FAIL");
或子類Assert
並重新實現assertTrue
做記錄你。請注意,在這種情況下,您的日誌行將聲明在Assert.assertTrue
之內,而不是呼叫點,因此您必須以某種方式解決該問題。
我重新設計TestNG的斷言系統的工作,看看新的架構,讓我知道你在想什麼:
https://groups.google.com/group/testng-users/browse_thread/thread/4392868b7d1fd051
你爲什麼要這麼做?這是一種不尋常的工作流程 - 對於單元測試,測試值通常只在失敗時纔有意思。 – Tom 2012-07-26 07:19:22