4
我的代碼很簡單:如何真正測試Python中的信號處理?
def start():
signal(SIGINT, lambda signal, frame: raise SystemExit())
startTCPServer()
所以我註冊我的應用程序與SIGINT
信號處理,然後我開始啓動TCP監聽。
這裏是我的問題:
我如何使用Python代碼發送SIGINT信號?
如何測試應用程序是否收到SIGINT信號,它會引發SystemExit異常?
如果我在我的測試中運行
start()
,它會阻塞,我該如何發送信號給它?
你不會單元測試信號本身。你會嘲笑'信號'電話。測試實際信號是*功能測試*。 – 2014-10-02 09:55:10
@MartijnPieters好的,那麼如何進行功能測試呢? – 2014-10-02 09:56:02
或許用'subprocess.Popen()'作爲子進程運行你的腳本並且發送這個子進程的一個信號? – 2014-10-02 10:11:47