2015-02-09 60 views
1

我想在客戶端+服務器之間創建一系列測試,並且我想使用Twisted的試用腳本,以便我可以顯示通過/失敗狀態。到目前爲止,我只用了單元測試的試用版,並不需要使用任何真正的TCP連接。目前,我們已經拋出了一個曲線球,我們必須使用專有協議的第三方服務器,但不幸的是沒有太多文檔,許多結果都是「未知的」。因此,我認爲最好將我們的客戶端應用程序連接到服務器並通過試用運行測試用例,而不是模擬服務器數據(並且運行出錯的可能性)。我隱約記得一個博客,其中有一些使用實際的TCP連接使用延遲的例子,但現在找不到該書籤。通過Twisted +試用框架使用真實連接的測試服務器

任何答案,指導方針,教程或技巧是最受歡迎的。我的主要問題是:

  1. 這樣做怎麼能沒有得到reactor錯誤?我最初的嘗試導致了大量的錯誤(主要是不潔的反應堆),並導致腳本冷卻失敗。
  2. 有誰知道一些Twisted測試正在使用真正的TCP連接?該文件做了一些模糊的參考,但我找不到他們或我不知道我在找什麼:)
  3. 有沒有更好的工具來處理網絡端到端的情況?
+0

http://mumak.net/stuff/twisted-disconnect.html這是顯示如何從服務器斷開連接的鏈接。 – 2015-02-10 14:40:18

回答

0
  1. 正如您已經自己回答,this article from Jonathan Lange解釋瞭如何斷開連接。
  2. CalendarServer's tests大量使用Deferred - 與數據庫集成的返回測試(postgres實例,the tests spawn themselves)。 Rackspace Auto Scale is also moving to Trial for integration testing
  3. 不,當然不是,Twisted在任何時候都是最好的工具;-)。
+0

非常感謝您的鏈接。我希望你或吉恩能飛進去救:)。我現在已經弄清楚了(經過一整天的試驗和錯誤......所有雙關語打算)。希望我會發佈一個答案,或者我會很快寫一篇關於我已經完成的博客文章。 – 2015-02-10 19:32:19