.net持续集成单元测试篇之单元测试简介以及在visual studio中配置Nunit使用环境 (3)

Avatar

窗口和VisualStudio Test Explorer类似

Avatar

操作也和VisualStudio自带的Test Explorer操作类似,点击刚才新创建的FirstUnitTest类,便会出现以下菜单

Avatar

选择第一个Run Unit Test便会运行单元测试,点击Debug Unit Tests则会进入单元测试调试模式,和VisualStudio自带的测试工具操作类似.

Avatar

执行结果状态图标和Visual Studio自带的测试工具状态图标大同小异,很容易区分
一点很大的不同在于它的单元测试信息显示在右边,这样如果面板的宽度过小而错误信息过长就会出现如下图示情况

Avatar

基本上不可读

Avatar

我们可以通过如图示设置把它调到下面,这样就和VisualStudio自带的单元测试工具布局基本一样了

Avatar

同样可以点击蓝色或者青色文字快速导航到错误方法里.
同样,由于面板大小限制,如果错误内容信息过丰富查看起来不是很方便,VisualStudio自带的测试工具可以通过Copy All复制到剪切板,然而这个面板并没有,没有办法把错误记录复制出来吗,答案是有的.
我们右击方法名,便会出现下面一个级联菜单

Avatar

这里有导出Text,XML和HTML,导出到xml和html基本上不需要,只需要导出为Text即可,点击Export to Text出现如下对话框

Avatar

如果我们选择一个路径便会将错误导出,很多时候并不需要这么做,我们点击Copy to Clipborard把内容复制到剪辑板,便可以把它复制到自己喜欢的文本编辑器里查看了

[info] Resharper测试技巧-状态过滤

当测试越来越多的时候,我们往往对整个测试项目进行运行,而不是像在开发阶段写一个运行一个,有人可能会有疑问,单元测试写的时候测试通过,以后再测会变成不通过状态吗,答案是肯定的.如果我们的单元测试中包含外部依赖(理想状态下不应该包含),往往外部依赖的变化会导致单元测试结果的变化.另外,单元测试编写的不恰当也会引起测试结果的变化.外部依赖的变化往往由于项目本身原因耦合度太高,一时又无法重构但仍然需要单元测试,这时候也可以勉强为之,然而不恰当的测试代码导致结果的不稳定是需要避免的.(最为常见的是日期中使用DateTime.Now由于Datetime.Now是变化的导致单元测试结果不可预测,这种情况是需要避免的.)
以上穿插的内容只是为了说明特定情况下单元测试的结果是会变的,因此不以为编写完测试方法后运行一遍成功就万事大吉.

如果测试方法很多,运行完以后出现多处错误,此时想要一个个找出失败的单元测试不是很方便,此时我们可以借助Resharper Unit Test Explorer中的测试状态过滤功能来过滤出所有的错误测试.

Avatar

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wssdzx.html