[問題]以subprocess呼叫nosetests執行測試的問題
因工作需要以nosetests跑測試, 但現在遇到一個問題
就是當我以subprocess的方式呼叫nosetests來跑testcase時
testcase中print出來的東西無法"被看見"
下面run.py和test.py是簡化後的範例:
首先執行run.py, 這時會要求輸入一個值並存放在檔案runtemp裡
接著以subprocess.call呼叫nosetests去跑test.py這個testcase
最後test.py會去取得runtemp裡面的值並print出來
這樣的作法在執行上是可行, 但問題出在test.py裡的print無法被看到
我試過即便以subprocess.check_output的方式去取得回傳值也沒用
推測的原因可能是nosetests執行test.py時
因為又起了另一個process在執行而不是在subprocess裡所以才看不到
不曉得有沒有什麼辦法可以讓test.py的print"被看見"
懇請大家幫忙了, 謝謝~
run.py
---------------------
s = input("Please input a value : ")
file = open('runtemp', 'w')
file.write(s)
file.close()
subprocess.call('nosetests test.py', shell=True)
---------------------
test.py
---------------------
file = open('runtemp', 'r')
x = file.read()
print(x)
---------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.146.87.216
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1468491780.A.14F.html
→
07/14 19:07, , 1F
07/14 19:07, 1F
→
07/14 21:52, , 2F
07/14 21:52, 2F
推
07/14 23:16, , 3F
07/14 23:16, 3F
→
07/14 23:17, , 4F
07/14 23:17, 4F
→
07/14 23:19, , 5F
07/14 23:19, 5F
→
07/14 23:27, , 6F
07/14 23:27, 6F
→
07/14 23:27, , 7F
07/14 23:27, 7F
→
07/14 23:28, , 8F
07/14 23:28, 8F
→
07/14 23:28, , 9F
07/14 23:28, 9F
→
07/14 23:28, , 10F
07/14 23:28, 10F
→
07/14 23:32, , 11F
07/14 23:32, 11F
→
07/14 23:32, , 12F
07/14 23:32, 12F
→
07/15 00:27, , 13F
07/15 00:27, 13F
→
07/15 00:29, , 14F
07/15 00:29, 14F
→
07/15 00:30, , 15F
07/15 00:30, 15F
→
07/15 00:31, , 16F
07/15 00:31, 16F
→
07/15 00:32, , 17F
07/15 00:32, 17F
Python 近期熱門文章
PTT數位生活區 即時熱門文章