我正在編寫針對需要作爲另一個進程運行的REST API進行測試的python單元測試。在python中,我如何運行命令行程序,直到我發送Ctrl + D時才返回
其餘服務器是tomcat的應用程序,我從殼呼籲在發展模式下運行,所以我在尋找什麼用Python測試做的是:
- 啓動服務器,返回時服務器已經到了。
- 運行單元測試
- 發送服務器Ctrl + D因此它優雅地關閉。
有沒有辦法爲python使用單一入口點,以便服務器啓動並且單元測試可以從一個python腳本調用中運行所有入口?
我環顧了python的子進程和多線程,但我還是不太明白怎麼從這裏到達那裏。
對於那些熟悉的人來說,這是我們正在開發的Atlassian JIRA插件,因此實際的shell命令是「atlas-run」。
1.)如何從命令行調用服務器?你可以使用'pexpect'模塊嗎? 2.)服務器啓動後,只需運行'unittest.main()'。 3.)你可以使用'signal'模塊來將'SIGQUIT'和'pexpect'發送到服務器嗎? – wflynny 2014-11-20 21:14:15
我沒有意識到這一點,我現在正在研究這一點,謝謝!通過CD向服務器調用插件項目的根目錄並從命令行運行「atlas-run」。 – MStudley 2014-11-21 18:44:24