基於Spring的專案測試要點

2021-04-12 15:09:09 字數 1388 閱讀 5226

今天覆習了一下 造福無數人spring2.0 參考手冊翻譯--第8章 測試,濃縮即精華的更新了ss wiki中的--spring下的單元測試要點。

1. 需要spring 依賴注入的測試protected string getconfiglocations() ;

} 並顯式寫一些需要注入的變數的setter函式。

2. dao測試

abstracttransactionaldatasourcespringcontexttests 繼承於abstractdependencyinjectionspringcontexttests,除了擁有上類的能力外,還管理了每個測試的事務,會在每個測試後預設回滾所有的操作。

tips1:如果需要在測試後提交,需要setrollback(false); 或者呼叫setcomplete()

tips2:此基類還通過注入的datasource建立了乙個jdbctemplate 變數,可以跑sql幫忙核對hibernate的結果,spring將確保該查詢在同乙個事務內執行。為正常工作你需要告訴你的orm工具'重新整理'它的已改變內容,例如使用hibernate session 介面的 flush() 方法。

tips3:除了tips2以外,還有countrowsintable(string tablename),deletefromtables(string names) ,executesqlscript(string sqlresourcepath, boolean continueonerror)三個簡便函式。

3. controller測試

controller測試一般要用mockobject 分離service層,要copy web-inf/下的相關檔案copy 到classpath,而且controller不含太多的邏輯,所有測試controller有點吃力不討好,建議直接用selenium進行整合測試。見(selenium測試概述)。

4.springside裡的測試

因為spring預設的基類名字較長,springside 在core 的org.springside.core.test 中重新繼承了它們,並提供了按springside的context檔案存放規則,預設讀取所有context 檔案的getconfiglocations()函式。

預設讀取所有context檔案的getconfiglocations()函式對速度和測試的隔離化都有影響,可以在子類重新實現。不過自己重新乙個個寫相關context檔案也好煩,而且其實在全lazy-load的情況下,速度也還可以接受。如何取捨要自己平衡了。

對於crud的測試,在helloworld示例裡的變數名都作了泛化,可以快速copy到另乙個測試裡。

phpcode有點排版不便,大家可以看wiki原文。

專案測試總結

1 測試活動路線 2 測試初衷 1 專案規劃明確 2 需求設計文件充分 3 系統整合環境部署簡易 4 測試流程規範 5 測試目標清晰 3 測試變更 1 開發環境與測試環境不同 2 開發模組與專案計畫不同 3 開發準備工作有出入 4 測試進度變更 5 測試環境的可控性 4 測試應對 搭建多套測試環境 ...

android專案測試

1 單元測試 又稱為 模組測試 是針對 程式模組 軟體設計 的最小單位 來進行正確性檢驗的測試工作。程式單元是應用的最小可測試部件。在 過程化程式設計 中,乙個單元就是單個程式 函式 過程等 對於物件導向程式設計,最小單元就是方法,包括基類 超類 抽象類 或者派生類 子類 中的方法。單元測試的步驟如...

C S專案測試

1.c s的特點 c s架構的介面和操作可以很豐富,能充分滿足客戶自身的個性化要求 安全效能可以很容易保證,c s一般面向相對固定的使用者群,程式更加注重流程,它可以對 許可權進行多層次校驗,提供了更安全的訪問模式,對資訊保安的控制能力很強。一般高度機 密的資訊系統採用c s結構適宜 由於只有一層互...