Visual Studio 測試系列 : 部署測試需要用的檔案

在使用Visual Studio的測試工具測試時,常常會搭配一些檔案一起測試,因為不希望測試Method直接變動到為了測試準備的原始檔案,通常會複製原始檔案到測試的目錄中,本篇說明如何使用Visual Studio的測試工具部署檔案,並說明Visual Studio測試工具部署檔案時常撞邪的地方。

...繼續閱讀 »

Visual Studio 測試系列 : 建立新測試設定檔

在建立Visual Studio測試專案的時候,預設會建立二個測試設定檔,Local.testsettings與TraceAndTestImpact.testsettings,這二個只有設定在部分設定有不同如圖一,原本我會修改Local.testsettings,讓Visual Studio執行測試時會用x64執行,TestResults放到R槽(RamDisk)等等,但是只有我自己電腦可以執行(我的電腦在同事間比較好,有的同事記憶體太少不能用RamDisk),使用這些設定可能會讓同事無法執行測試,最後我只好建立自己的測試設定檔。

...繼續閱讀 »

NuGet系列-製作安裝Package時自動設定Config

在NuGet還沒有出來前要在專案中加入組件的相關Config是挺麻煩的,要看著文件或範例來一段一段複制貼上Config,說真的不是很方便,但是NuGet有提供Config轉換,會把需要設定的Config合併到專案的Config中,可以省下不少設定時間,這篇就來跟大家說在建立Package時如何加入Config轉換檔。

...繼續閱讀 »

NuGet系列-安裝特定版本Package

有時可能因為專案是使用較舊版本的Assembly,使用NuGet GUI不能選版本只能下載最新版Package安裝,新版Package中的Assmebly可能與你的專案不相容,使你的專案無法執行,但又不想自己手動去下載Assembly,手動加入參考,那該怎麼辦呢?

雖然NuGet的GUI(寫文時是1.5版)還沒有提供,但是Command-Line指令卻有支援,遇到這種情況先將用Command-Line指令安裝nupkg吧。

...繼續閱讀 »

NuGet系列-建立自己的NuGet Server

說真的,管理自己或公司專案上寫的通用元件或javascript檔案是很麻煩的一件事,元件的安裝也是件麻煩事,而更新又是一個更麻煩的事,前陣子看到黑大的架設私房NuGet Server,感覺就像看到銀子彈一樣,最新就在公司架了起來,將元件都上傳到私人NuGet Server,三件麻煩事都解決了。

...繼續閱讀 »

Web Project的檔案共用小技巧

有時Web Project會有一些檔案在不同專案間共同使用,如Javascript檔、圖檔、第三方套件等等,如果每一個專案都放置一份,很容易照成維護上的麻煩(如修改A專案的檔案,忘了複製到B專案),這時可以調整一下檔案的結構與修改一下專案的設定來解決這問題(這是小弟最近建方案的心得,不一定是最好的)。

...繼續閱讀 »

Moles無法讀取app.config問題,非常弱的解決方法

因為Moles官方暫時還沒有辦法解決,讀取測試專案的app.config問題,我只有以繞遠路的方式去跳過這個問題,我最早的方式是手動去改Microsoft.Moles.VsHost.exe.config(詳情可參考Moles - Isolation framework for .NET介紹),而我們專案成員有5個加上1台Build Server,所以我要設6次,本以為設定一次就搞定了,但因為前幾天app.config的設定有變更,我一想到要改6台我就累了,而且當方案一多切換也是個麻煩,所以我想到以Post-build Event的方式,當從版本管理簽出後編譯完成時將測試專案的app.config去覆蓋Microsoft.Moles.VsHost.exe.config。

...繼續閱讀 »

Visual Studio 單元測試的3種Initialize與Cleanup

Visual Stuido的單元測試有3種Initialize與Cleanup,讓開發測試時,可以在TestMethod執行前做一些初始化,結束後做一些清除,而這3種Initialize與Cleanup各針對了不同時期,如:我猜鮮少人知道的Assembly的Initialize與Cleanup,是在一個測試專案的所有TestMethod執行前呼叫Initialize,與一個測試專案所有TestMethod結束後呼叫Cleanup。

...繼續閱讀 »

小技巧:專案切換32與64位元組件

最近的一個專案中,有用到一個組件有分32位元與64位元的組件,如Chilkat .NET,因為Visual Studio 2010是32位元,如果開發時用64位元的組件,會發生一些問題,如AspNetCompiler編譯失敗,還有MVC專案的View,在Design時發生載入組件錯誤,使得無法使用IntelliSense,所以開發時沒辦法只能用32位元的組件,但佈署時又不希望人工去替換組件,怎麼辦呢?

...繼續閱讀 »