在C# Express 2005中配置 NUnit
在C# Express 2005中配置 NUnit
www.cnblogs.com/Pamigo/ 2008-7-28
?
在網(wǎng)上有很多關(guān)于在C#中使用NUnit的相關(guān)文章,但是我安裝了NUnit后卻不知道在C# Express中應(yīng)該如何配置,相信很多人也遇到了同樣的問題。根據(jù)自己的摸索總結(jié)了一下,希望對(duì)大家有所幫助。配置工作可以分為兩部分,首先是在IDE環(huán)境中添加解決方案,使我們能夠方便的在各個(gè)配置方案中自由切換,其次是在項(xiàng)目中增加Nunit的類庫(kù)的引用。
?
一、在IDE環(huán)境中添加解決方案。
1. 首先我們打開工程配置文件(*.csproj)
我們可以看到文件中包含Debug和Release兩個(gè)解決方案的配置信息。
?<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配置信息后,添加下列配置內(nèi)容
<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中設(shè)置的[C:"Program Files"NUnit 2.4.6]是Nunit的安裝路徑。DefineConstants中設(shè)置的[UNIT_TEST]是我們?cè)诔绦蛑幸玫降臈l件編譯符號(hào)。
?
3. 接下來我們打開C#工程,在解決方案上點(diǎn)擊右鍵。看看多了什么?沒錯(cuò)這里多了一個(gè)[配置管理器]選項(xiàng)。
?
4. 我們選擇配置管理器菜單,彈出了配置管理器窗口。
目前這里還沒有剛才我們?cè)诠こ膛渲梦募?/span>(*.csproj)中添加的UnitTest,別著急接著往下看。
5. 下拉菜單中選擇<新建>,填入解決方案名稱[UnitTest](要根配置文件中的名稱一致哦)
從此復(fù)制保持<空>就行,然后點(diǎn)擊確定。
6. 由于我們剛才已經(jīng)在(*.csproj)中手動(dòng)加入了UnitTest方案的相關(guān)配置信息,所以點(diǎn)擊[確定]后就不需要再填入其他信息了。UnitTest方案創(chuàng)建成功,點(diǎn)擊關(guān)閉。
?
如下圖所示,現(xiàn)在我們已經(jīng)可以在IDE環(huán)境中,通過選擇菜單自由切換配置方案了。
?
添加解決方案還有另外一種方法
1.打開配置管理器選項(xiàng)
工具>選項(xiàng)>顯示所有設(shè)置>項(xiàng)目和解決方案>顯示高級(jí)生成配置
這樣[生成]菜單中就會(huì)多出一個(gè)[配置管理器]菜單,點(diǎn)擊此菜單,添加UnitTest解決方案。
2.按照先前的說明,在工程配置文件(*.csproj)中手動(dòng)修改UnitTest的解決方案配置信息。
?
二、接下來,我們來添加對(duì)Nunit的類庫(kù)引用
1. 在工程解決方案管理器總的[引用]文件夾上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中點(diǎn)擊[添加引用]。
?
2. 在添加引用窗口中選擇“nunit.framework”,單擊[確定]
?
?
?
如下圖所示,現(xiàn)在Nunit的類庫(kù)引用已經(jīng)被添加到我們的工程中了。
?
3. 為了在沒有安裝Nnuit的機(jī)器中也能夠進(jìn)行除了單元測(cè)試以外的正常開發(fā),我們還要對(duì)工程配置文件(*.csproj)進(jìn)行一些手動(dòng)配置。
首先我們關(guān)閉項(xiàng)目窗口,用文本編輯器打開工程配置文件(*.csproj),可以看到剛才我們添加的對(duì)“nunit.framework”類庫(kù)的引用。
?<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”的相關(guān)設(shè)置信息抽出來,放到一個(gè)單獨(dú)得ItemGroup中,并添加條件選項(xiàng),只有在解決方案是UnitTest的時(shí)候才引用“nunit.framework”類庫(kù)。
?<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>
?
另外,我們?cè)跍y(cè)試用例類的程序代碼中還要加入(#if UNIT_TEST … #endif)的條件編譯符。
?
好了,終于配置完成了,我們來看看效果。
這樣當(dāng)我們選擇UnitTest解決方案時(shí),這段測(cè)試代碼為有效,“nunit.framework”類庫(kù)也會(huì)被引用。
按F5運(yùn)行程序,Nuit的測(cè)試窗口會(huì)自動(dòng)彈出,并進(jìn)行自動(dòng)單元測(cè)試。
?
?
?
我們?cè)跍y(cè)試用例代碼中加個(gè)斷點(diǎn)試試。瞧,一切OK,可以調(diào)試測(cè)試代碼了。
?
當(dāng)我們選擇Debug配置方案時(shí),程序測(cè)試用例類程序代碼會(huì)變?yōu)闊o效,“nunit.framework”類庫(kù)也不會(huì)被引用。
我們?cè)侔?/span>F5運(yùn)行程序,就會(huì)真正運(yùn)行我們的項(xiàng)目工程了。
另外還有一點(diǎn)需要注意,在編寫單元測(cè)試用例我們?cè)诟膶懥藴y(cè)試代碼后一定要重新編譯一下(如下圖所示,點(diǎn)擊生成命令)然后再按F5運(yùn)行測(cè)試程序,最新的測(cè)試用例才會(huì)生效。
轉(zhuǎn)載于:https://www.cnblogs.com/Pamigo/archive/2008/07/30/1256777.html
總結(jié)
以上是生活随笔為你收集整理的在C# Express 2005中配置 NUnit的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个好听的陶瓷名字!
- 下一篇: 黄山风景区几点开门