今個兒有朋友說要參考一下我們的 source code,看是怎麼樣寫測試的。當然啦,能不能放出 source 不是我能決定的... (不過我覺得公家機關放出來應該不會怎麼樣)。所以我另外準備了一個小的 web app,只有 login,和管理帳號的功能。雖然小,但 CRUD 等該有的都有了,大家可以參考參考我們 test 的寫法。
按右鍵下載 Sample Wicket
下載後副檔名是 tar.gz,直接解開即可。個人建議使用 eclipse import 這個專案來瀏覽。
Platform:
這個小程式建立在 Spring 1.2.6,Hibernate 3.0.5,Wicket 1.2-CVS,EasyMock 2.0 等 framework 之上。相關的 jar 檔已經含在下載包內,不用另外下載了。
環境需求:
- Ant 1.6.5
- jdk 5.0
- Tomcat 5.5
跑測試
下指令:
ant test
如果沒意外的話,應該會 build 成功。build 完成之後可以到
SampleWicket/report/coverage/index.html -- code coverage report SampleWicket/report/junit/index.html -- junit test report
用 browser 看 coverage 和 junit 的報表
變更設定檔
所有的 config 相關的檔案都放在 SampleWicket/config
裡。這個程式大概只有 SMTP 需要另外設定。開啟 config/config.properties
並修改 SMTP mail server。
建立 .war
在進行 建立 war 檔前,請先 clean 掉舊的 compile 的 class:
ant clean
清除完畢後,再執行:
ant
待 build 完成後,將 SampleWicket/dist/SampleWicket.war 複製到 tomcat 的 webapps 下即可。
啟動 webapp
啟動 tomcat,並開啟 browser 連至:
http://localhost:8080/SampleWicket
然後使用帳號 demo,密碼 demo,便可登入操作。(注意 demo 這個帳號是假的,所以不能修改帳號資料。)
瀏覽 Source code
- DAO 的測試可以參考
test/ngc/core/user/UserDAOTest.java
- ServiceImpl 的測試可以參考
test/ngc/account/impl/AccountServiceImpl.java
- Wicket 網頁的測試可以參考
test/ngc/account/wicket/*.java
- DAO/Wicket 的測試都需要一些 BaseTestCase 的幫忙,這個都放在
test/ngc/test/
和test/org/bioinfo/test/
裡面。
source code 很多... 我也沒法子一一講,有興趣的人可以 trace TestCase 做了些什麼。