作者:陳市明/Slipper Feng 摘自:http://www.aygfsteel.com/JPeanut
Junit 目前是 java 種最為流行的單元測試的框架,開發人員是編寫設計模式的三大牛人之一。 junit 靈活的使用了多種模式,使得擴展非常之容易。他的擴展是所有單元測試框架是最多的,但是很多擴展都是直接繼承自 TestCase ,這個就導致用了這個擴展就沒法使用其他的擴展了,比如,用了 dbunit 就不能再用 easy struts 了(除非,我們對擴展進行重寫)。
? 為了解決這個問題,我在Junit之上還封裝了一層TestFrame,使得junit能夠很容易的同時使用多個擴展。我們這里的設計思想是:
1.? 把擴展寫成插件式,我只要通過寫一個 plugin 接口讓他集成進我們的框架中
2.? 后期對架構的功能擴展完全可以通過插件實現。目前,已經寫了 dbunit , struts-easy,imon fk , JMS 電文的 plugin 。通過插件的方式,我們就可以很容易的解決 junit 的硬傷:測試數據硬代碼。
3.? 插件的添加,無需修改架構及其原有的測試腳本,只需要在“項目的 TC ”中在注冊中心對插件注冊就可以獲得插件的所有的功能
4.? 架構是面向對項目的,所有不同架構的項目可以使用同一套底層架構,不一樣的只是“項目 Tc ”
5.? Test Frame Work 、所有的 plugin 和項目 TC 都可以各自獨立打成 jar ,這樣框架可以很方便的進行局部升級
(呵呵,有了電文插件后,就很容易的對我們的項目進行自動化的單元測試。在次之前,我們一直沒有對電文進行有效的自動化的單元測試, mock 技術可以實現,但是,對于需求變化 mock 沒有很好的解決辦法)