簡體   English   中英

如何在Delphi中對第三方電子郵件組件進行單元測試?

[英]How to unit test third-party email components in Delphi?

我正在編寫一些涉及POP3操作的新代碼。 我試圖想出一個允許我編寫測試的設計,所以它相當分離並且練習了我正在編寫的大部分新代碼。

我面臨的問題是,我仍然需要驗證我使用某些第三方組件的方式是正確的。 這涉及測試,例如,來自有故障的POP3服務器的奇怪響應。

現在,我正在使用模擬POP3客戶端,因此我可以測試客戶端獲得錯誤或奇怪響應的可能情況的邏輯。 但是,我仍然需要檢查這些假設是否正確,並在例如升級第三方組件之后保持為真。

還有,有SMTP。 我知道在Java世界里你有Dumbster

德爾福有哪些替代方案? 使用通常的 嫌疑人寫我自己的定制迷你服務器?

好吧,我不想成為確認你懷疑的人,但是:

(a)你將不得不自己構建(每個人的需求都不同,至少在Delphi中沒有標准的固定裝置用於這種類似於Java Dumpster的集成測試)和......

(b)我認為你不應該假設Indy,因為ICS和Synapse很棒,並且使用他們的演示可能會讓你想要你想要更快......我會選擇ICS。 但如果你更了解Indy,那就去吧。

(c)我傾向於使用運行Linux的虛擬機,因為我發現使用在我周圍的ISP現實世界中實際使用的POP3 / SMTP服務器進行測試很容易,如果我關心它,我如果我有MSDN許可證,可能會為Windows + Exchange服務器創建一個VM,並且能夠這樣做。

請記住,這不再是單元測試。 這是集成測試。 即使你用線程而不是進程填充所有內容,也就是你沒有進行單元測試,這是一個集成測試。

如果您希望所有開發人員能夠在沒有設置的情況下進行測試,那么創建一個QA-TEST-NETWORK BOX,它始終可用並且在各種標准端口上具有各種配置,然后您的集成測試可以在任何開發人員PC工作站上運行在局域網內部進行設置。 在局域網之外,在WAN環境中,這會變得更加繁瑣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM