• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

在C#Express2010中使用NUnit调试

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

业余用.net写点开源的东西, 自然不能继续用VSTS了, 选了不花一毛钱的C#Express+NUnit. 不料却集成不到Express中. 根本原因在于微软要保证Express这样的入门级免费产品不至于强大到影响收费的VS, 禁止了Express的扩展以及DebugAction的配置.

详见:InfoQ:TestDriven.NET和Visual Studio Express的纠纷往事

 

虽然我们还可以老老实实的按照:编译测试, 启动NUnit, 附加调试器, 运行测试的流程来达到目的, 但其实不必这么麻烦. 一番折腾我终于找到了一个用起来相对简单的办法, 易用性和MSTest差不多.

 

首先是解决NUnit 2.54对CLR4.0支持的一个小麻烦, 改一下nunit.exe.config即可, 多谢刘冬大哥的指点:关于nunit调试VS2010中的4.0程序集的问题

 

之后就是如何在Express中方便的调试了.

我的办法是建立了一个exe项目作为TestRunner, 里面只干了一件事情, 就是在相同的应用程序域中引导NUnit启动. 代码如下:

using System;

namespace TestRunner
{
static class Program
{
[STAThread]
static void Main(string[] args)
{
NUnit.Gui.Class1.Main(args);
}
}
}

NUnit.Gui.Class1类型位于nunit.exe中, 在nunit的安装目录中可以找到.

此外还需要把TestRunner项目配置里的WorkFolder设置成NUnit的lib目录, 比如"D:\Program Files\NUnit 2.5.4\bin\net-2.0\lib"

CommandArgument根据需求填, 多个Test项目也可以藉此共享同一个TestRunner.

到此全部功能都有了, F5即可开始单元测试, 并且可以下断点调试.

我这办法不见得最好, 希望能抛砖引玉的效果吧.


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
巧用FileShare解决C#读写文件时文件正由另一进程使用的bug发布时间:2022-07-18
下一篇:
C#中Session与Dictionary的用法发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap