17 February 2006

今個兒有朋友說要參考一下我們的 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 做了些什麼。


回響

可以用 Tag <I>、<B>,程式碼請用 <PRE>