From Gossip@caterpillar

JUnit Gossip: 功能單元測試

當程式的元件逐步完成,您可以慢慢組成這些元件以完成系統的部份功能,這些功能可能是完成系統規範的Use Case中的一部份,例如一個簡單的登錄程式檢查,使用者發送請求,然後程式驗證並響應結果。

功能單元測試(Functional Unit Testing)的目的即在完成對上述元件組成後的測試,它超越了 集成單元測試 的範圍,但也還不是完整的功能測試,主要是基於「請求-響應」的測試,而不是檢驗整個Use Case的流程是否正確。

例如登錄程式檢查,您可能發送一個請求來要求某個頁面,這個頁面必須通過身份驗證才能顯示,功能單元測試檢驗這個流程是否正確完成,而頁面該顯示的內容是否都顯示了,當中的數據是否正確等等,這就跨越功能單元測試的範圍,而算是功能測試。

當然功能單元測試與功能測試間的邊界並不是清晰的,兩者之間並不是黑與白的關係,實際上進行測試時並無需死守這些原則。

HttpUnit 協助您對基於HTTP請求-響應的程式進行功能單元測試或是功能測試,基本上HttpUnit本身並不是測試工具,而是協助您進行HTTP請求,然後對響應的結果作整理統計,以便利您搭配 JUnit 來進行測試,而 Cactus 也集成了HttpUnit,方便您在In-Container測試時對一些響應結果作斷言。