使用xUnit.net进行数据驱动的单元测试

发表于:2017-7-19 14:35

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:衡泽_徐峰    来源:51Testing软件测试网采编

分享:
  5.编写测试
  public class ProviderTypeTest
  {
          //测试数据
          public static ProviderTypeData providerTypeData_AddProviderType = new ProviderTypeData(
              "\\TestDatas\\ProviderTypeData_AddProviderType.csv");
          public ProviderTypeTest()
          {
          }
          [Trait("TPS", "供应商分类")]
          [Theory(DisplayName = "0001_验证数据_空数据_抛出")]
          [MemberData("providerTypeData_AddProviderType")]
          public void ValidData_EmptyData_ThrowException(
              string providerTypeName, string providerCode, string parentCode)
          {
              //do test
          }
  }
  简单说明一下:
  1.测试数据需要是公共静态属性,在声明时实例化。
  2.xUnit与MSTest在特性和断言的使用上有区别,见附录。
  3.Trait特性声明了测试的分类,可以在VS的测试资源管理器中按特征查看。
  选择特征
  
效果
  4.Theory特性声明当前测试方法需要测试数据作为参数。
  5.如果定义了Skip的值,那么测试将会被自动跳过。
[Theory(DisplayName = "0001_验证数据_空数据_抛出", Skip = "未完成")]
  
被跳过的测试
  6.MemberData特性声明了测试需要的数据源。
  调试测试,结果如下:
  调试测试结果
  有三条测试数据,就会执行三次测试,测试结果如下:
  测试结果
  (请忽略测试的时间,因为我在截图调试结果)
  以上,我们就可以实现数据驱动的测试。
  附录
  Attribute标记对比:
  Assertions断言对比:
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号