VisualStudio 2012中的单元测试 - TOMMYHU - 专注互联网开发及运营技术,提供相关资料及软件下载,奇趣网络时事评论!
Apr 5

VisualStudio 2012中的单元测试 不指定

tommyhu , 16:16 , ASP.NET , Comments(0) , Trackbacks(0) , Reads(3748) , Via Original Large | Medium | Small

支持第三方单元测试框架集成

Visual Studio 2012现在可以在IDE中支持对第三方单元测试框架集成,只需要在 Visual Studio Gallery 下载相应的扩展即可。

集成后统一后的测试界面更加整洁,并且第三方测试框架也可以使用VisualStudio中的提供的功能(代码覆盖率,测试策略等)了。目前支持的一些第三方测试框架为:

        
  •     
    NUnit
        
  •     
  •     
    xUnit.net
        
  •     
  •     
    MbUnit
        
  •     
  •     
    QUnit
        
  •     
  •     
    Jasmine 
        

测试策略

支持一些常用的测试策略:

        
  1.     
    生成后运行测试
        
  2.     
  3.     
    只运行为通过的用例
        
  4.     
  5.     
    优先测试关键用例
        

 

 

 

 

对失败的测试用例调试

可以查看测试用例的代码覆盖率,这个以前其实也有,但现在和第三方测试框架集成后就更加方便了。

查看代码覆盖率

支持对C++代码测试

现在MS-Test直接支持对C++本地代码测试了,关于其测试方法请参看MSDN文章:Unit testing native code with Test Explorer,其完整示例可以参看下这个项目: Hilo project

支持异步函数的测试

支持对.net 4.5中的async关键字标识的异步函数进行测试,测试用例也可以使用await关键字。

    [TestMethod]
public async
Task TestMethod1()
{
var result = await AsyncOperation();
Assert.IsNotNull(result);
}

试了一下,xunit和微软自家的ms-test都支持,其它的测试框架没试过。

不过需要注意的是:其返回值必须是Task而不能是平时用的void。如果写成void,则会出错:ms-test不把它识别为测试用例,xunit测试结果不正确。

集成打桩框架Fakes

Visual Studio 2012中提供了一个Fakes框架,方便我们在测试用例中进行打桩操作。关于其详细信息可以参看MSDN文章:Isolating Code under Test with Microsoft Fakes

PS:

        
  1.     
    关于单元测试工具,由于我了解的不多,如下有一份nunit、xunit及ms-test的功能和使用方式比较,感觉大都是大同小异,如果有谁有其特点描述相关文章,欢迎推荐一下。
        
  2.     
  3.     
    关于ms-test的使用方式,可以参看MSDN文章:Writing Unit Tests for the .NET Framework with the Microsoft Unit Test Framework for Managed Code。不过貌似都是英文的,习惯中文的朋友可以参看下这篇文章:使用 Visual Studio Team Test 进行单元测试,这篇文章是介绍vs2005的,有的功能已经不一样了(大都是测试界面以及功能上的一点微调),不同写测试用例的方法还是基本相同的,当入门教程还是不错的。
        
  4.     
  5.     
    关于测试用例的编写,微软提供了一个自动生成测试用例的工具Pex,感兴趣的朋友可以去它的网址pexforfun在线体验一下。
        

▲返回顶部
Last modified by tommyhu on2013/04/05 16:17

Add a comment

Nickname

emotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemot