迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
业余用.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; 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即可开始单元测试, 并且可以下断点调试. 我这办法不见得最好, 希望能抛砖引玉的效果吧. |
请发表评论