我在一個單獨的目錄中有一堆unittest
測試用例。還有一個目錄只包含用於測試的幫助程序腳本。所以,我的文件樹看起來像在test_dir*
這個運行測試前更改cwd
test_dir1
test_dir2
test_dir3
helper_scripts
每個Python文件將這些行:
import sys
sys.path.append('../helper_scripts')
import helper_script
這一切工作正常,只要我跑從他們的目錄中的測試。不過,我想是在項目的根,只是運行:
py.test
,並有它遍歷所有的目錄,並運行它找到的每個測試。問題在於測試是從錯誤的目錄運行的,所以sys.path.append
不會附加helper_scripts
目錄,它會附加項目根目錄的父項。這使得所有的導入都會以Import Error
失敗。
有沒有辦法告訴py.test
從他們的目錄運行測試腳本?即。在執行它們之前更改cwd?如果沒有,我還可以使用另一個測試跑步者嗎?
你到底如何做到這一點?您是否必須更改腳本中的當前目錄? – 2014-11-02 01:51:49