我正在研究一個小的Python包,並且正在爲它編寫單元測試。我有我的包結構相當典型的Python的方式佈局:在Python包的unittest測試套件中包含額外的文件
mypackage/
mymodule.py
test/
test_mymodule.py
這個特殊的模塊被設計來讀取文件的內容,做一件事與所述內容,然後返回一個值。爲了測試這個,我想在我的測試套件中包含一些輸入文件。
我想我可以組織他們是這樣的:
mypackage/
mymodule.py
test/
test_mymodule.py
test_input01.txt
test_input02.txt
然後找到文件使用__file__
全局變量來讀取。
我的問題是:這是一個合理的Pythonic組織事物的方式嗎?我擔心以這種方式猜測路徑在任何環境下都不可靠(例如,如果軟件包是通過點等安裝的話)。
具體來說,我正在尋找1)支持這種(或其他)方法的一些官方文檔,或2)使用這種(或其他)方法的公認的現有項目。
使用'__file__'定位當前目錄路徑和測試數據所在的位置幾乎可以。作爲一個例子,請參見[pep8](https://github.com/jcrocholl/pep8)github項目,特別要注意如何在'testsuite'包中安裝測試 - '* .py'文件,其名稱如'E10 .py','E11.py'在測試中用作目標文件。希望有所幫助。 – alecxe
你是非常正確的 - 他們確實使用這種確切的技術。如果它足以滿足Python風格指南,那對我來說已經足夠了。 :)添加作爲答案,我會接受它。謝謝! – CmdrMoozy