- SpecFlow 教程
- SpecFlow - 首页
- SpecFlow - 简介
- 测试驱动开发 (TDD)
- 行为驱动开发 (BDD)
- SpecFlow - Visual Studio 安装
- Visual Studio 扩展安装
- SpecFlow - 项目设置
- 其他项目依赖项
- SpecFlow - 运行器激活
- SpecFlow - HTML 报告
- SpecFlow - 绑定测试步骤
- SpecFlow - 创建第一个测试
- 配置 Selenium Webdriver
- SpecFlow - Gherkin
- SpecFlow - Gherkin 关键字
- SpecFlow - 功能文件
- SpecFlow - 步骤定义文件
- SpecFlow - Hooks (钩子)
- SpecFlow - 背景说明
- 使用Examples进行数据驱动测试
- 不使用Examples进行数据驱动测试
- 表格转换为数据表
- 表格转换为字典
- 使用CreateInstance的表格
- SpecFlow - 使用CreateSet的表格
- SpecFlow 有用资源
- SpecFlow - 快速指南
- SpecFlow - 有用资源
- SpecFlow - 讨论
SpecFlow - 使用CreateSet的表格
CreateSet<T> 是 Table 方法的扩展。它将表格中的数据转换为一组对象。这是在水平方向进行数据参数化的一种常用技术。
我们可以使用此方法处理一行或多行数据。SpecFlow Assist Helpers 包用于处理表格。此外,我们还必须将命名空间TechTalk.SpecFlow.Assist添加到我们的代码中。
CreateSet<T> 方法根据表格中匹配的数据获取一个IEnumerable<T>。它包含所有对象的值。它确保从字符串到关联属性的类型转换正确。
步骤 1:创建功能文件
关于如何创建功能文件的详细信息在“功能文件”章节中详细讨论。
Feature: User credential Scenario: Login module When User types details | Name | Password | | t1 | pwd | | t2 | pwd1 | Then user should be able to login
步骤 2:创建 C# 文件以访问字符串对象
我们将在项目中创建一个新文件夹,并在其中创建一个 C# 文件。右键单击SpecFlow 项目,然后单击添加。
选择新建文件夹选项。
将文件夹命名为Utils。
右键单击新创建的文件夹,然后选择添加选项。单击类。
在搜索框中输入C# 类并搜索。从搜索结果中选择类选项,然后单击添加继续。
项目文件夹结构
C# 类实现
using System;
using System.Collections.Generic;
using System.Text;
namespace SpecFlowProject1.Utils {
class Class1 {
public class Input {
//two string objects declared
public string Input1 { get; set; }
public string Input2 { get; set; }
}
}
}
步骤 3:创建步骤定义文件
关于如何创建步骤定义文件的详细信息在“步骤定义文件”章节中详细讨论。
using System;
using TechTalk.SpecFlow;
using TechTalk.SpecFlow.Assist;
namespace SpecFlowProject1.Features {
[Binding]
public class UserCredentialSteps {
[When(@"User types details")]
public void WhenUserTypesDetails(Table t) {
//access Table data with CreateSet method
var i = t.CreateSet<Utils.Class1.Input>();
//iterate over rows
foreach (var r in i) {
Console.WriteLine(r.Input1);
Console.WriteLine(r.Input2);
}
}
[Then(@"user should be able to login")]
public void ThenUserShouldBeAbleToLogin() {
Console.WriteLine("User should be able to login");
}
}
}
步骤 4:执行和结果
选择用户凭据(1) 功能,然后单击视图中的“运行所有测试”。
选择登录模块场景,然后单击打开此结果链接的其他输出。
该场景已执行,数据通过功能文件中的表格在 When 步骤中使用 CreateSet 方法传递。
广告