[英]Testing python package bin scripts best practice
myproject/
bin/
myscript
mypackage/
__init__.py
core.py
tests/
__init__.py
test_mypackage.py
setup.py
測試腳本myscript的最佳方法是什么?
從SO研究來看,似乎我發現的唯一答案是在測試中編寫一個名為test_myscript的測試,並使用像
import subprocess
process = subprocess.Popen('myscript arg1 arg2')
print process.communicate()
在我的測試用例中運行腳本然后測試結果。 有沒有更好的辦法? 或者針對不同方式的任何其他建議? 我應該將測試套件放在bin / tests或mypackage / tests中嗎?
我不相信有關於在何處進行tests
“最佳實踐”。 看看有多少不同的意見: Python單元測試在哪里?
我個人有一個唯一的tests
目錄在頂層,靠近你的bin
和mypackage
目錄 - 例如, django有。
要運行bin
腳本並獲取結果,您可以使用:
check_output
(正如你所提到的),但使用check_output
:
import subprocess output = subprocess.check_output("cat /etc/services", shell=True)
test command-line scripts
- 看起來像工作的工具 希望有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.