0
我工作的一個小的腳本來運行python單元測試之後,我不喜歡這樣寫道:打印結果每個單元測試
def run_test(suite):
runner = unittest.TextTestRunner()
start = time.time()
result = runner.run(suite)
end = time.time()
log_test_results(result, str(end-start))
而在log_test_results我寫出所有合格/不合格試驗。問題在於,我必須等待測試套件完成才能查看是否有任何測試通過/失敗。在TestCase內部的每個斷言之後,是否有任何方法可以打印結果?
這幾乎是我所期待的。但只是一個後續問題,所以我可以看看是否有其他方法可以做到這一點。比方說,我想將自己記錄到自定義記錄器中,有沒有什麼方法可以自己收集這些信息,記錄並打印,而不是讓TextTestRunner打印出來? – user1776562 2014-08-27 09:06:11
@ user1776562您可以傳遞流變量。例如unittest.TextTestRunner(verbosity = 2,stream = sys.stderr),您可以將自定義流傳遞給它,而不是默認stderr,然後從流中獲取輸出。 – 2014-08-27 09:58:58