我的Java應用程序在生產中遇到了一個問題,SMTP服務器拒絕一次發送到多個x目標的郵件。我想在這種情況下測試應用程序的行爲。在我的Java應用程序中測試SMTP錯誤
我發現Dumbster Fake SMTP Server這是非常好的,但似乎沒有提供在某些測試中拒絕郵件的方法。
你對我如何測試這個特定場景有什麼建議嗎?
我的Java應用程序在生產中遇到了一個問題,SMTP服務器拒絕一次發送到多個x目標的郵件。我想在這種情況下測試應用程序的行爲。在我的Java應用程序中測試SMTP錯誤
我發現Dumbster Fake SMTP Server這是非常好的,但似乎沒有提供在某些測試中拒絕郵件的方法。
你對我如何測試這個特定場景有什麼建議嗎?
我不知道Dumbster,但SubEthaSMTP確實有這種能力。也許最簡單的解決方案是通過覆蓋它的accept方法來擴展Wiser類(它實現了一個專門用於測試的簡單SMTP服務器),在x之後返回false。接受者。
我可以建議的另一種方法是通過使用EasyMock/Mockito編寫Junit測試並模擬您在生產中看到的異常。您可以專注於您懷疑和疑問的部分代碼,並深入並修復根本原因。很明顯,如果上面提到的SMTP服務可以讓你模擬錯誤,他們可以給你更好的信心。
我唯一的建議是Dubmster是開源項目,所以你可以看看擴展它。除了源代碼似乎相當小。 –
這是一個相當古老的問題,但我想提供一個更新。我創建了一個JUnit擴展來編寫集成測試與SMTP服務器仿真。它基於SubEthaSMTP和相關軟件FakeStmp。這很容易使用。請看看github.com/sleroy/fakesmtp-junit-runner/。如果你想要更多的選擇,你可以嘗試mailtrap.io –