[小北De编程手记] : Lesson 02 玩转 xUnit.Net 之 基本UnitTest & 数据驱动
关于《玩转 xUnit.Net》系列文章,我想跟大家分享的不是简单的运行一下测试用例或是介绍一下标签怎么使用(这样的文章网上很多)。上一篇《Lesson 01 玩转 xUnit.Net 之 概述》介绍xUnit.Net的一些基本概念。从这一篇开始我将会为大家逐一展示xUnit.Net的强大之处。还是先看一下本文要讨论的内容:
- xUnit.Net 单元测试用例的类型
- 简单测试用例 & Fact 标签
- 数据驱动的用例 & Theory 标签
(一)xUnit.Net 单元测试用例的类型
这里我先回顾一下前一篇文章的测试用例:
using System;
using System.Collections.Generic;
using Xunit; public class EqualExample
{
[Fact]
public void EqualStringIgnoreCase()
{
string expected = "TestString";
string actual = "teststring"; Assert.False(actual == expected);
Assert.NotEqual(expected, actual);
Assert.Equal(expected, actual, StringComparer.CurrentCultureIgnoreCase);
}
}
你可能已经发现,xUnit.Net的中用来标记测试方法的attribute是[Fact],而不是一个像类似[Test]这样更传统的标记名称。xUnit.Net 包含了两种主要的单元测试方式:Fact 和 Theory,这两种方式的不同如下:
- Fact:表示测试结果永远成立的那些Unit Test,他们的输入条件不变。
- Theory:表示测试是针对某一组数据的(即需要数据驱动的Unit Test<data-driven test>)。
(二)简单的测试用例 & Fact 标签
首先,我们来看一下Fact标签的结构:
// Summary:
// Attribute that is applied to a method to indicate that it is a fact that
// should be run by the test runner. It can also be extended to support a customized
// definition of a test method.
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
[XunitTestCaseDiscoverer("Xunit.Sdk.FactDiscoverer", "xunit.execution.{Platform}")]
public class FactAttribute : Attribute
{
public FactAttribute(); // Summary:
// Gets the name of the test to be used when the test is skipped. Defaults to
// null, which will cause the fully qualified test name to be used.
public virtual string DisplayName { get; set; }
//
// Summary:
// Marks the test so that it will not be run, and gets or sets the skip reason
public virtual string Skip { get; set; }
}
除了构造函数之外,该Attribute还提供了两个属性。
- DisplayName : 用来设置Test Case 显示名称(如果是自定义的Runner,也可以通过该属性获取Test Case的名称)。
- Skip:如果设置了该属性,相当于Ignore了对应的测试用例,该用例将不会被运行。
[Fact(DisplayName = "Lesson02.Demo01")]
public void Demo01_Fact_Test()
{
int num01 = ;
int num02 = ;
Assert.Equal<int>(, num01 + num02);
} [Fact(DisplayName = "Lesson02.Demo02", Skip = "Just test skip!")]
public void Demo02_Fact_Test()
{
int num01 = ;
int num02 = ;
Assert.Equal<int>(, num01 + num02);
}
对于上面的两个测试用例,运行结果如下。可以看到两个测试用例的名称均显示为DisplayName对用的属性名称,而设置了Skip属性的Unit Test没有被执行。
aaarticlea/png;base64,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" alt="" />
(三)数据驱动的用例 & Theory 标签
@基本概念
关于数据驱动的测试方法,我想计算机专业出身的小伙伴应该不会陌生。这里我希望读者对等价类、边界值、错误推测、因果图,判定表驱动,正交试验设计... ...这些概念有一定的了解(知道是什么就行)。简单来说,数据驱动的测试指的是我们的测试输入和测试结果有着一定的关系,不同的输入可能会导致输出结果的不同。例如:测试登录方法,不同的用户名\密码输入后,会显示不一样的错误信息。这里,我不想过多的讨论数据驱动的测试方法应该如何设计相关的测试用例。本文的目的只要是向大家展示xUnit.Net对数据驱动的支持。
xUnit.Net对数据驱动测试方法的支持是通过Theory attribute实现的。你可以用Theory替代Fact来标记你的测试方法,于此同时使用[XXXData]来提供你的输入和输出数据。目前[XXXData] attribute包括[InlineData]和[MemberData]。下面我们会介绍这些 attribute的使用。
@Theory简介
查看Theory的源码可以看到,Theory是继承自Fact的。因此,之前提到的DisplayName和Skip也同样适用于Theory。
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
[XunitTestCaseDiscoverer("Xunit.Sdk.TheoryDiscoverer", "xunit.execution.{Platform}")]
public class TheoryAttribute : FactAttribute
{
public TheoryAttribute();
}
@InlineData
Theory 和 InlineData 提供了一种简单的数据驱动方式,代码如下:
[Theory(DisplayName = "Lesson02.Demo03")]
[InlineData(, , )]
[InlineData(, , )]
[InlineData(, , )]
public void Demo03_Theory_Test(int num01, int num02, int result)
{
Assert.Equal<int>(result, num01 + num02);
}
InlineData标签的构造函数接受一个params object[] data类型的参数,值得注意的是InlineData参数的类型和数量应当与测试方法完全匹配。在Test Explorer视图中我们可以看到,该方法相当于三个测试用例,这很好的提高了测试用例的复用率和可维护性:
aaarticlea/png;base64,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" alt="" />
@MemberData
InlineData已经为我们提供了基本的数据驱动测试的能力,但同时也有几个问题:
- 当测试样本很多时(尤其是在划分出的等价类数量很多,或是想做大样本测试的情况下),就会导致测试用了的InlineData变得非常长。
- 测试数据是从外部导入(例如:Excel,数据库,文本文件... ...),而不是硬编码。
面对上述的情况的时候,我们就需要使用MemberData来完成工作。顾名思义,MemberData使用了一个当前类的某个成员来完成数据测试数据的注入,也就是用你可以使用当前测试类的方法,属性,字段进行数据的注入。是不是感觉棒棒哒~~。首先,我们来看一下MemberData的定义:
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true, Inherited = true)]
[CLSCompliant(false)]
[DataDiscoverer("Xunit.Sdk.MemberDataDiscoverer", "xunit.core")]
public sealed class MemberDataAttribute : MemberDataAttributeBase
{
public MemberDataAttribute(string memberName, params object[] parameters); protected override object[] ConvertDataItem(MethodInfo testMethod, object item);
}
[MemberData]构造函数接受两个参数:第一,成员名称(即方法,属性或字段的名称)。第二,一个参数列表(只针对方法)。例外,需要注意以下两点:
- 为MemberData提供数据源的方法,属性或字段都必须是静态的。
- 成员返回的测试数据类型应该是IEnumerable<object[]>。
下面我们来看几个具体的例子:
示例一:MemberData & 属性
下面的Code中定义了属性 InputData_Property,并在测试方法上用MemberData标记说明数据源来自对应的属性。
#region MemberData InputData_Property
public static IEnumerable<object[]> InputData_Property
{
get
{
var driverData = new List<object[]>();
driverData.Add(new object[] { , , });
driverData.Add(new object[] { , , });
driverData.Add(new object[] { , , });
driverData.Add(new object[] { , , });
driverData.Add(new object[] { , , });
driverData.Add(new object[] { , , });
return driverData;
}
} [Theory(DisplayName = "Lesson02.Demo04")]
[MemberData("InputData_Property")]
public void Demo04_Theory_Test(int num01, int num02, int result)
{
Assert.Equal<int>(result, num01 + num02);
}
#endregion
在Test Explorer可以看到对应的测试用例有6组:
aaarticlea/png;base64,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" alt="" />
示例二:MemberData & 方法
下面的Code中定义了属性InputData_Method,细心的同学会发现提供数据源的方法中多了一个flag参数。这个参数的值从何而来呢?就是我们之前说的MemberData属性的第二个构造参数(下面代码的21行)。
#region MemberData InputData_Method
public static IEnumerable<object[]> InputData_Method(string flag)
{
var driverData = new List<object[]>();
if (flag == "Default")
{
driverData.Add(new object[] { , , });
driverData.Add(new object[] { , , });
driverData.Add(new object[] { , , });
}
else
{
driverData.Add(new object[] { , , });
driverData.Add(new object[] { , , });
driverData.Add(new object[] { , , });
}
return driverData;
} [Theory(DisplayName = "Lesson02.Demo05")]
[MemberData("InputData_Method", "Default")]
//[MemberData("InputData_Method", "Other")]
public void Demo05_Theory_Test(int num01, int num02, int result)
{
Assert.Equal<int>(result, num01 + num02);
}
#endregion MemberData InputData_Method
此时,我们在Test Exporer视图中只能看见三个测试用例,如图所示。这里xUnit.Net为我们提供了根据不同的需要加载不同数据源的可能。例如:例子中的flag参数可以是一个Excel文件名称,参数不同即可读取不同的文件。这里我就不展开讨论了,后续的文章会专门讨论这个问题。
aaarticlea/png;base64,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" alt="" />
示例三:MemberData & 字段
其实,用属性和方法作为数据源,已经可以解决很多问题了。最后,我们来看一下如何使用字段作为数据源实现数据驱动的测试。
首先,我们定义一个新的类型:
public class MatrixTheoryData<T1, T2> : TheoryData<T1, T2>
{
public MatrixTheoryData(IEnumerable<T1> data1, IEnumerable<T2> data2)
{
Contract.Assert(data1 != null && data1.Any());
Contract.Assert(data2 != null && data2.Any()); foreach (T1 t1 in data1)
{
foreach (T2 t2 in data2)
{
Add(t1, t2);
}
}
}
}
这里用到了TheoryData类,这个类是有xUnit.Net提供。其中T1,T2表示了输入数据的类型。也就是说这种方式是一种类型安全的输入方式(其实,xUnit还提供了1至5个参数的TheoryData泛型)。这里使用输入的两个数据集合做笛卡尔积的结果,来充当数据源。下面看一下使用的代码:
#region MemberData InputData_Field
public static int[] Numbers = { , , };
public static string[] Strings = { "Hello", "world!" };
public static MatrixTheoryData<string, int> MatrixData = new MatrixTheoryData<string, int>(Strings, Numbers); [Theory(DisplayName = "Lesson02.Demo06")]
[MemberData("MatrixData")]
public void Demo06_Theory_Test(string x, int y)
{
Assert.Equal(y, x.Length);
}
#endregion MemberData InputData_Field
MatrixData字段在构造的时候就会按照规则(使用Numbers,Strings的笛卡尔积)构造对应的数据源。看一下Test Explorer视图,此方法对应了6(3×2 = 6)个用例,用例的参数就是两个数组的笛卡尔积的组合:
aaarticlea/png;base64,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" alt="" />
总结:
本文主要介绍了xUnit.Net的基本使用和针对数据驱动测试的支持。主要包含以下几点:
- xUnit.Net基本使用:Fact简介。
- 数据驱动测试基本概念。
- xUnit.Net 针对数据驱动测试的支持。
- 描述了以属性,方法,字段作为数据源的异同。
小北De系列文章:
《[小北De编程手记] : Selenium For C# 教程》
《[小北De编程手记]:C# 进化史》(未完成)
《[小北De编程手记]:玩转 xUnit.Net》(未完成)
Demo地址:https://github.com/DemoCnblogs/xUnit.Net
[小北De编程手记] : Lesson 02 玩转 xUnit.Net 之 基本UnitTest & 数据驱动的更多相关文章
- [小北De编程手记] : Lesson 04 玩转 xUnit.Net 之 Fixture(下)
上一篇文章<[小北De编程手记] : Lesson 03 玩转 xUnit.Net 之 Fixture(上)>向大家介绍了xUnit.Net 共享数据的方式.Test Case的构造函数 ...
- [小北De编程手记] : Lesson 06 玩转 xUnit.Net 之 定义自己的FactAttribute
xUnit.Net本身提供了标记测试方法的标签Fact和Theory.在前面的文章<Lesson 02 玩转 xUnit.Net 之 基本UnitTest & 数据驱动>中,也对它 ...
- [小北De编程手记] : Lesson 01 玩转 xUnit.Net 之 概述
谈到单元测试,任何一个开发或是测试人员都不会觉得陌生.我想大多数的同学也都是接触过各种单元测试框架.关于单元测试的重要性,应该不会有太多的质疑.这个系列,我向大家介绍一下xUnit.Net的使用.就让 ...
- [小北De编程手记] : Lesson 03 玩转 xUnit.Net 之 Fixture(上)
在使用xUnit.Net Framework构建单元测试或自动化测试项目的时候,无论是针对一些比较耗费资源的对象亦或是为了支持Test case预设数据的能力,我们都需要有一些初始化或是清理相关的动作 ...
- [小北De编程手记] : Lesson 05 玩转 xUnit.Net 之 从Assert谈UT框架实践
这一篇,本文会介绍一下基本的断言概念,但重点会放在企业级单元测试的相关功能上面.下面来跟大家分享一下xUnit.Net的断言,主要涉及到以下内容: 关于断言的概念 xUnit.Net常用的断言 关于单 ...
- [小北De编程手记] : Lesson 02 - Selenium For C# 之 核心对象
从这一篇开始,开始正式的介绍Selenium 以及相关的组件,本文的将讨论如下问题: Selenium基本的概念以及在企业化测试框架中的位置 Selenium核心对象(浏览器驱动) Web Drive ...
- [小北De编程手记] [Lesson 02] AutoFramework构建 之 Page Objects - 设计模式
写在最前面 这个系列的主旨是要跟大家分享一下关于自动化测试框架的构建的一些心得.这几年,做了一些自动化测试框架以及团队的构建的工作.过程中遇到了很多这样的同学,他们在学习了某一门语言和一些自动化测试的 ...
- [小北De编程手记] : Lesson 08 - Selenium For C# 之 PageFactory & 团队构建
本文想跟大家分享的是Selenium对PageObject模式的支持和自动化测试团队的构建.<Selenium For C#>系列的文章写到这里已经接近尾声了,如果之前的文章你是一篇篇的读 ...
- [小北De编程手记] : Lesson 07 - Selenium For C# 之 窗口处理
在实际的自动化测试过程中,我们会遇见许多需要对窗口进行处理的情况.比如,点击删除某条信息的时候系统会显示一个Alert框.或者点击某个超链接时会在浏览器中打开一个新的页面.这一篇,来和大家分享一下Se ...
随机推荐
- Android笔记——Android五大布局
一.五大布局 Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是Li ...
- 国内常用的三种框架:ionic/mui/framework7对比
国内常用的三种框架:ionic/mui/framework7对比 原文连接:http://zhihu.com/question/19558750/answer/91179040
- Python中的参数
Python中的参数 1. python函数参数有多重形式: * test(arg1,arg2,`*args`) * test(arg1,arg2,`*args`,`**kwargs`) 2. 其中比 ...
- Git-图文教程
https://github.com/haveatry823/QSanguoshaAI/wiki/Git-%E5%9B%BE%E6%96%87%E6%95%99%E7%A8%8B http://www ...
- hibernate(四)ID生成策略
一.ID生成策略配置 1.ID生成方式在xml中配置方式: <?xml version="1.0"?> <!DOCTYPE hibernate-mapping P ...
- IO流-文件管理
File f = new File(“test.txt”); File的构造器不会在文件不存在的情况下新建一个文件,从File对象中创建文件是由文件流的构造器或File类的createNewFile方 ...
- javascript严格模式下的8点规则
[作用] [1]消除js语法的一些不合理.不严谨.不安全问题,减少怪异行为并保证代码运行安全 [2]提高编译器效率,增加运行速度 [使用] [1]整个脚本启用严格模式,在顶部执行:"use ...
- Ext.Net常用方法
1.js(Ext)操作 Ext.Msg.alert('系统提示', '未连接血站,该功能暂时不能使用.'); Ext.getCmp("id").getValue();Ext.get ...
- 启动Genymotion时报错Failed to initialize backend EGL display
在启动Genymotion的时候报错: video card说的是显卡,你的显卡可能不支持 OpenGL2.0,或者你装的驱动有问题. 解决办法:将驱动重新安装一下. 可直接下载一个如“驱动人生“一 ...
- Titon Toolkit – 非常强大的用户界面组件
Titon Toolkit 是一个非常强大的用户界面组件,也是实现响应式,移动和现代网页的工具类的集合.每个组件封装了 HTML.CSS 以及为角色特定页面元素的 JavaScript 功能.Tool ...