在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)

我们可以看到文件中包含DebugRelease两个解决方案的配置信息。

 <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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值