2016-01-20 31 views
0

是否有一種簡單的方法爲每個測試腳本生成一個日誌文件,pytest已經做到了這一點,但所有文件都在一個文件中,是否有辦法在每個測試腳本的目錄中進行分割,例如如果我有 dir1包含腳本1 dir2包含腳本2 我不希望日誌都在一個文件中,我想在dir1和dir2中有兩個單獨的文件。用py.test生成每個腳本的日誌

回答

0

在每個腳本中,您可能都希望使用文件輸入/輸出。如果該文件不存在,該函數將創建一個用於寫入的文件。在要測試每個腳本,放在這樣的事情:

with open("log file name 1", "a") as log: 
    log.write("whatever you want to log in here") 

把這樣的事情在每個腳本可能會節省更多的時間比試圖使用第三方庫或試圖找到一些其他的方式來在短期內完成。

+0

感謝您的迴應,但我的結論是,我的問題的最佳解決方案是separte pytest命令,示例'py.test '或更改py.test初始配置(添加cmd行選項或標記) – lcadc17

+0

祝您好運!我希望你的項目進展順利! – JustDucky

+0

謝謝@JustDucky – lcadc17

0

如果您希望在文件系統中存儲通常在控制檯中看到的文本, 嘗試使用pytest_collectreport,pytest_report_teststatus掛鉤進行播放。您可以獲取nodeid(測試模塊/函數的名稱)並從中輸出文本。

如果您想存儲日誌記錄器(日誌記錄模塊)中的日誌,可以使用pytest-logger爲每個測試用例分別創建日誌文件以存儲日誌記錄器輸出。目錄結構是自動生成的,用戶只需要傳遞記錄器名稱和級別。