2012-02-06 90 views
1

我有一個使用Spring構建的Web應用程序,其中包含一些作業。爲後臺進程編寫測試(如後臺作業)

一個典型的工作是通過數據庫運行,得到修改客戶的列表,生成一個文件和FTP它。我的問題是,如何在這份工作中進行單元測試?

我應該只寫單元測試對每個崗位的「臺階」,如:

  • 檢驗其取出修改客戶的方法。
  • 測試文件生成代碼。
  • 測試FTP'ing的代碼。

但是在這種情況下,我會錯過上述工作的「集成」測試用例。另外,Emma還報告說,這項工作中有未經測試的代碼。

任何想法讚賞。

謝謝!

回答

0

單元測試實際上一次只能測試一個類。這意味着你必須嘲笑依賴關係。春天對此很好。

我會建議到的Mockito做嘲諷。這是一個了不起的工具,您將學習TDD,這也是編寫漂亮代碼的一種方式。

集成測試是另一個話題,需要另一種策略。

對數據庫測試是通過擴展AbstractTransactionalJUnit4SpringContextTests完成。你會在網上找到例子。一般來說,你還可以使用內存數據庫來進行這些測試(h2對此很有幫助)。它可以在單元測試階段完成。

生成的文件可以作爲單元測試來完成。您生成文件並驗證正確的內容。或錯誤......

對於FTP的一部分,我會說這是一個集成測試的更多部分,除非你可以生成從構建腳本的FTP服務器。

0

您必須爲每個步驟編寫單元測試。也許你需要嘲笑一些方法。

然後,你可以寫一個集成測試,以驗證整體,但也許你需要一些存根的部件(例如FTP服務器,使用您的測試嵌入式FTP服務器)。