Cucumber中的Background关键字是什么?
Background关键字用于在特性文件中的所有场景之前复制相同的步骤。
Background规则
让我们描述一些应用Background时的规则:
除非我们被迫将应用程序置于需要执行复杂步骤的状态(根据项目利益相关者的要求),否则应将其用于定义简单的步骤。
它应该简洁明了。
所有场景也应该简明扼要。
Background示例
让我们来看一个例子,在这个例子中,我们使用了Background步骤在特性文件中的所有测试之前执行。例如,要为应用程序添加普通用户和管理员用户,我们需要在执行实际测试之前运行以下步骤:
- 启动应用程序URL。
- 提交用户名和密码。
特性文件
特性 - 成员添加
Background
Given 启动URL
Then 输入用户名和密码
场景 - 普通用户添加
Given 用户位于普通用户添加屏幕
When 输入普通用户详细信息
Then 用户应被添加为普通用户
场景 - 管理员用户添加
Given 用户位于管理员用户添加屏幕
When 输入管理员用户详细信息
Then 用户应被添加为管理员用户
示例
步骤定义文件
using System;
using TechTalk.SpecFlow;
namespace SpecFlowProject1.Features {
[Binding]
public class MemberAdditionSteps {
[Given(@"launch URL")]
public void GivenLaunchURL() {
Console.WriteLine("Url launched");
}
[Given(@"user is on normal user additon screeen")]
public void GivenUserIsOnNormalUserAdditonScreeen() {
Console.WriteLine("User is on normal user addition screen");
}
[Given(@"user is on admin user addition screen")]
public void GivenUserIsOnAdminUserAdditionScreen() {
Console.WriteLine("User is on admin user addition screen");
}
[When(@"enters normal user details")]
public void WhenEntersNormalUserDetails() {
Console.WriteLine("User enters normal user details");
}
[When(@"enters admin user details")]
public void WhenEntersAdminUserDetails() {
Console.WriteLine("User enters admin user details");
}
[Then(@"enter name and password")]
public void ThenEnterNameAndPassword() {
Console.WriteLine("User enters name and password");
}
[Then(@"user should be added as normal user")]
public void ThenUserShouldBeAddedAsNormalUser() {
Console.WriteLine("User should be added as normal user");
}
[Then(@"user should be added as admin user")]
public void ThenUserShouldBeAddedAsAdminUser() {
Console.WriteLine("User should be added as admin user");
}
}
}输出

广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP