bdd - 是否可以定义示例表并将整个表作为数据传递给步骤定义参数?
问题描述
以一个简单的特征轮廓为例:
Scenario Outline: Example Table Experiment
Given User Does Something with **{ExampleTable}**
Examples:
| Key1 | Key2 | Key3 |
|Key1-Vaue1|Key2-Vaue1|Key3-Vaue1|
|Key1-Vaue2|Key2-Vaue2|Key3-Vaue2|
|Key1-Vaue3|Key2-Vaue3|Key3-Vaue3|
然后在步骤定义方面,我们有类似的东西:
@When("^User Does Something with$")
public void user_does_something_with_DataTables_asMap(**ExamplTable et**) {
//code to extract values from example table
}
这可以实现吗?
解决方案
这可以使用垂直方向的数据表来实现。第 1 列将包含键,第 2 列将包含值。您需要在示例表中的每一列的值列中添加一个标记:
Scenario Outline: Example Table Experiment
Given User Does Something with
| Key | Value |
| Key1 | <Key1> |
| Key2 | <Key2> |
| Key3 | <Key3> |
Examples:
| Key1 | Key2 | Key3 |
|Key1-Vaue1|Key2-Vaue1|Key3-Vaue1|
|Key1-Vaue2|Key2-Vaue2|Key3-Vaue2|
|Key1-Vaue3|Key2-Vaue3|Key3-Vaue3|
步骤定义将接收单个 DataTable 参数。
推荐阅读
- amazon-web-services - 公共云中的 Flask-SocketIO:升级到 websocket 的请求在某些情况下会失败
- shopify - Shopify:如何根据用户的地理位置重定向用户?
- excel - 防止 Excel 表格自动填充行
- swift - NavigationBar 半透明动画
- python - Tkinter 没有删除标签小部件
- c# - 当角色环顾四周时,Contoller 脚本不会改变方向
- struts - 从 Struts 2.3.x 迁移到 Struts 2.5
- r - 选择性编织R笔记本
- python - 我不确定如何让我的程序排序并从外部文件中读取
- macros - 规范的 match-letrec 实现如何工作?