首页 > 在C# Express 2005中配置 NUnit

在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两个解决方案的配置信息。

 

    true

    full

    false

    bin"Debug"

    DEBUG;TRACE

    prompt

    4

 

 

    pdbonly

    true

    bin"Release"

    TRACE

    prompt

    4

 

 

2. 我们可以看到在Release配置信息后,添加下列配置内容

UnitTest|AnyCPU'">

    full

    false

    bin"UnitTest"

    C:"Program Files"NUnit 2.4.6

    Program

    $(NUNIT_PATH)"bin"nunit.exe

    /run $(TargetFileName)

    UNIT_TEST

 

 

其中的红色部分可以自己定义。[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类库的引用。

 

    

   

   

   

   

   

   

 

我们将nunit.framework的相关设置信息抽出来,放到一个单独得ItemGroup中,并添加条件选项,只有在解决方案是UnitTest的时候才引用nunit.framework类库。

 

   

   

   

   

   

   

 

 

   

 

 

另外,我们在测试用例类的程序代码中还要加入(#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

更多相关:

  • 英语的重要性,毋庸置疑!尤其对广大职场人士,掌握英语意味着就多了一项竞争的技能。那,对于我们成人来说,时间是最宝贵的。如何短时间内在英语方面有所突破,这是我们最关心的事情。英语学习,到底有没有捷径可以走,是否可以速成?周老师在这里明确告诉大家,英语学习,没有绝对的捷径走,但是可以少走弯路。十多年的教学经验告诉我们,成功的学习方法可以借...

  • 展开全部 其实IDLE提供了一个显32313133353236313431303231363533e78988e69d8331333365663438示所有行和所有字符的功能。 我们打开IDLE shell或者IDLE编辑器,可以看到左下角有个Ln和Col,事实上,Ln是当前光标所在行,Col是当前光标所在列。 我们如果想得到文件代码...

  • 前言[1]从 Main 方法说起[2]走进 Tomcat 内部[3]总结[4]《Java 2019 超神之路》《Dubbo 实现原理与源码解析 —— 精品合集》《Spring 实现原理与源码解析 —— 精品合集》《MyBatis 实现原理与源码解析 —— 精品合集》《Spring MVC 实现原理与源码解析 —— 精品合集》《Spri...

  • 【本文摘要】【注】本文所述内容为学习Yjango《学习观》相关视频之后的总结,观点归Yjango所有,本文仅作为学习之用。阅读本节,会让你对英语这类运动类知识的学习豁然开朗,你会知道英语学习方面,我们的症结所在。学习英语这类运动类知识,需要把握四个原则第一,不要用主动意识。第二,关注于端对端第三,输入输出符合实际情况第四,通过多个例子...

  • 点云PCL免费知识星球,点云论文速读。文章:RGB-D SLAM with Structural Regularities作者:Yanyan Li , Raza Yunus , Nikolas Brasch , Nassir Navab and Federico Tombari编译:点云PCL代码:https://github.co...

  • ue4商城资源 Car Configurator Template 汽车配置器模板 ue4商城资源 Car Configurator Template 汽车配置器模板 Unreal Engine虚幻游戏引擎素材资源 Unreal Engine Marketplace –Car Configurator Template 4...

  • 一直在尝试一些写代码方便,阅读代码也很方便的工具,因为使用的是Mac,所以阅读源码上面sourceInsight就没办法用了。 从vscode – sublime – clion 想要可配置性强一点,软件轻一点,也能提供足够的便捷操作,不论是写代码还是快速索引源码,都希望在检索上面节省足够的时间。 vscode 和 sublime...

  • 每日杂事缠身,让自己在不断得烦扰之后终于有了自己的清静时光来熟悉一下我的工具,每次熟悉源码都需要先在windows端改好,拖到linux端,再编译。出现问题,还得重新回到windows端,这个过程太耗费时间。 vim作为唯一能够和windos 下的source insight一争高低的linux端的源码阅读器,只要将它短时间内合理利用...

  • 使用ubuntu(18.04) 作为软路由器连接互联网 背景: 最近要用ubuntu机器作为中继路由,需要配置一下,但是内网外网网上找了一圈,五花八门的,照着做没有一个靠谱的,遇到的问题也没有任何说明,遂写一篇教程以记录一下 功能说明: 简单来说,就是用其他机器的网络上互联网, 比如可以用其他机器的wifi上网等等场景 示意...

  • Spring-Boot 攻略 day01 spring-boot 一. 基本配置加运行 1. 导入配置文件(pom.xml 文件中) org.springframework.bootspring-boot-starter-parent