VS單元測試的一些常見問題和解決辦法
最近對一個VS開發的web service寫了一些unit test,雖然有test team會做test,但是對功能模塊做好unit test會給后續的開發工作帶來一些便利。
以下是VS unit test中遇到的一些問題和解決辦法:
VS做unit test可以用一個第三方的工具,我這要討論的是用VS自帶的unit test工程。
問題1:
Web項目中web.config在unit test的項目中讀不到,該這么處理?
解決方法:
1. 可以創建unit test的app.config,然后將web.config的內容拷貝到app.config。缺點:每次修改web.config要記得修改app.config
2. 用將app.config這個文件放到當前測試工程的的bin\debug或bin\realease文件夾下并修改文件名為:<你測試工 程的名字>.dll.config,這樣單元測試運行的時候就可以讀到web.config的內容
問題2:
項目中用到了xml文件讀取一些文件,或者別的外部資源,單元測試中無法加載這些問題。
解決辦法:
1. 如代碼中用的是appdomian.currentDomain.BaseDirectory,請將相關配置文件放到bin\debug或bin\release文件夾下
2. 可以啟用test setting,在選項卡中勾選enable deployment,然后選擇要拷貝的xml文件或者別的外部資源,注意,這樣修改后的默認相關路徑就改變到了TestResult文件下的測試用例中。
3. 可以在test setting中寫腳本進行文件拷貝的工作。
問題3:
使用的web的cache功能后有些文件會加載錯誤
解決辦法:
1. cache在unit test中要使用絕對路徑,而非相對路徑。
總結,為了每次修改web項目后(對功能沒有改變),unit test不會做相關改動,我的做法是,在unit test中寫一個PreWork的方法,并在一個類中初始化這個方法,而所有的unit test的類都從這個類去繼承。
若有unit test相關問題可以聯系我 : )
浙公網安備 33010602011771號