在C# Express 2005中配置 NUnit
在C# Express 2005中配置 NUnit
www.cnblogs.com/Pamigo/ 2008-7-28
?
在網上有很多關于在C#中使用NUnit的相關文章,但是我安裝了NUnit后卻不知道在C# Express中應該如何配置,相信很多人也遇到了同樣的問題。根據自己的摸索總結了一下,希望對大家有所幫助。配置工作可以分為兩部分,首先是在IDE環境中添加解決方案,使我們能夠方便的在各個配置方案中自由切換,其次是在項目中增加Nunit的類庫的引用。
?
一、在IDE環境中添加解決方案。
1. 首先我們打開工程配置文件(*.csproj)
我們可以看到文件中包含Debug和Release兩個解決方案的配置信息。
?<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
??? <DebugSymbols>true</DebugSymbols>
??? <DebugType>full</DebugType>
??? <Optimize>false</Optimize>
??? <OutputPath>bin"Debug"</OutputPath>
?? ?<DefineConstants>DEBUG;TRACE</DefineConstants>
??? <ErrorReport>prompt</ErrorReport>
??? <WarningLevel>4</WarningLevel>
?</PropertyGroup>
?<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
??? <DebugType>pdbonly</DebugType>
??? <Optimize>true</Optimize>
??? <OutputPath>bin"Release"</OutputPath>
??? <DefineConstants>TRACE</DefineConstants>
??? <ErrorReport>prompt</ErrorReport>
??? <WarningLevel>4</WarningLevel>
?</PropertyGroup>
?
2. 我們可以看到在Release配置信息后,添加下列配置內容
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'UnitTest|AnyCPU'">
??? <DebugType>full</DebugType>
??? <Optimize>false</Optimize>
??? <OutputPath>bin"UnitTest"</OutputPath>
??? <Nunit_Path Condition="'$(NUNIT_PATH)' == ''">C:"Program Files"NUnit 2.4.6</Nunit_Path>
??? <StartAction>Program</StartAction>
??? <StartProgram>$(NUNIT_PATH)"bin"nunit.exe</StartProgram>
??? <StartArguments>/run $(TargetFileName)</StartArguments>
??? <DefineConstants>UNIT_TEST</DefineConstants>
?</PropertyGroup>
?
其中的紅色部分可以自己定義。[UnitTest]是我們要添加的配置信息的名稱。Nunit_Path中設置的[C:"Program Files"NUnit 2.4.6]是Nunit的安裝路徑。DefineConstants中設置的[UNIT_TEST]是我們在程序中要用到的條件編譯符號。
?
3. 接下來我們打開C#工程,在解決方案上點擊右鍵。看看多了什么?沒錯這里多了一個[配置管理器]選項。
?
4. 我們選擇配置管理器菜單,彈出了配置管理器窗口。
目前這里還沒有剛才我們在工程配置文件(*.csproj)中添加的UnitTest,別著急接著往下看。
5. 下拉菜單中選擇<新建>,填入解決方案名稱[UnitTest](要根配置文件中的名稱一致哦)
從此復制保持<空>就行,然后點擊確定。
6. 由于我們剛才已經在(*.csproj)中手動加入了UnitTest方案的相關配置信息,所以點擊[確定]后就不需要再填入其他信息了。UnitTest方案創建成功,點擊關閉。
?
如下圖所示,現在我們已經可以在IDE環境中,通過選擇菜單自由切換配置方案了。
?
添加解決方案還有另外一種方法
1.打開配置管理器選項
工具>選項>顯示所有設置>項目和解決方案>顯示高級生成配置
這樣[生成]菜單中就會多出一個[配置管理器]菜單,點擊此菜單,添加UnitTest解決方案。
2.按照先前的說明,在工程配置文件(*.csproj)中手動修改UnitTest的解決方案配置信息。
?
二、接下來,我們來添加對Nunit的類庫引用
1. 在工程解決方案管理器總的[引用]文件夾上單擊鼠標右鍵,在彈出的快捷菜單中點擊[添加引用]。
?
2. 在添加引用窗口中選擇“nunit.framework”,單擊[確定]
?
?
?
如下圖所示,現在Nunit的類庫引用已經被添加到我們的工程中了。
?
3. 為了在沒有安裝Nnuit的機器中也能夠進行除了單元測試以外的正常開發,我們還要對工程配置文件(*.csproj)進行一些手動配置。
首先我們關閉項目窗口,用文本編輯器打開工程配置文件(*.csproj),可以看到剛才我們添加的對“nunit.framework”類庫的引用。
?<ItemGroup>
?? ?<Reference Include="nunit.framework, Version=2.4.6.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL" />
??? <Reference Include="System" />
??? <Reference Include="System.Data" />
??? <Reference Include="System.Deployment" />
??? <Reference Include="System.Drawing" />
??? <Reference Include="System.Windows.Forms" />
??? <Reference Include="System.Xml" />
?</ItemGroup>
我們將“nunit.framework”的相關設置信息抽出來,放到一個單獨得ItemGroup中,并添加條件選項,只有在解決方案是UnitTest的時候才引用“nunit.framework”類庫。
?<ItemGroup>
??? <Reference Include="System" />
??? <Reference Include="System.Data" />
??? <Reference Include="System.Deployment" />
??? <Reference Include="System.Drawing" />
??? <Reference Include="System.Windows.Forms" />
??? <Reference Include="System.Xml" />
?</ItemGroup>
?<ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'UnitTest|AnyCPU'">
??? <Reference Include="nunit.framework, Version=2.4.6.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL" />
?</ItemGroup>
?
另外,我們在測試用例類的程序代碼中還要加入(#if UNIT_TEST … #endif)的條件編譯符。
?
好了,終于配置完成了,我們來看看效果。
這樣當我們選擇UnitTest解決方案時,這段測試代碼為有效,“nunit.framework”類庫也會被引用。
按F5運行程序,Nuit的測試窗口會自動彈出,并進行自動單元測試。
?
?
?
我們在測試用例代碼中加個斷點試試。瞧,一切OK,可以調試測試代碼了。
?
當我們選擇Debug配置方案時,程序測試用例類程序代碼會變為無效,“nunit.framework”類庫也不會被引用。
我們再按F5運行程序,就會真正運行我們的項目工程了。
另外還有一點需要注意,在編寫單元測試用例我們在改寫了測試代碼后一定要重新編譯一下(如下圖所示,點擊生成命令)然后再按F5運行測試程序,最新的測試用例才會生效。
轉載于:https://www.cnblogs.com/Pamigo/archive/2008/07/30/1256777.html
總結
以上是生活随笔為你收集整理的在C# Express 2005中配置 NUnit的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个好听的陶瓷名字!
- 下一篇: 黄山风景区几点开门