我的解决方案中有一个功能如下:
功能:登录
登录界面
场景大纲:使用无效凭据登录
给定已创建并激活用户帐户
何时我输入用户名<用户名>
我输入密码<密码>
我按登录
然后显示错误消息
的实施例
|用户名|密码|
| joe.bloggs | abcd1234 |
| known.user | ck |
步骤文件包含:
[Binding]
public class LoginSteps
{
[Given(@"A user account has been created and activated")]
public void GivenAUserAccountHasBeenCreatedAndActivated()
{
int a = 1;
}
[When(@"When I enter the username (.*)")]
public void WhenIEnterTheUsername(string username)
{
int a = 1;
}
[When(@"When I enter the password (.*)")]
public void WhenIEnterThePassword(string password)
{
int a = 1;
}
[When(@"I press Login")]
public void WhenIPressLogin()
{
int a = 1;
}
[Then(@"An error message is displayed")]
public void ThenAnErrorMessageIsDisplayed()
{
int a = 1;
}
}
*我添加了'int a = 1;'临时调整行以便于调试
当我右键单击该功能并选择“Debug Specflow Scenarios”时,会发生以下错误: 找不到一个或多个步骤的匹配步骤定义:'显示错误消息'
该方案是所有颜色编码正确的,并且转到步骤定义适用于“显示错误消息”步骤。
之前有其他人看过这个或者有过如何修复的建议吗?
答案 0 :(得分:0)
问题可能出在specflow项目的配置文件中...... 你是否: a)不要宣告测试员 b)申报非英语语言?
或替代方案 c)不经意地禁用specflow d)选择了错误的dotnet框架
答案 1 :(得分:0)
最后,我能解决的唯一方法是删除功能文件并从头开始重新创建。现在有效,但我不确切知道问题是什么。
答案 2 :(得分:0)
您遇到的问题是,在 when 步骤中重复了 when 字样,如下所示:
[When(@"When I enter the username (.*)")]
....
[When(@"When I enter the password (.*)")]
它们应该像这样:
[When(@"I enter the username (.*)")]
public void WhenIEnterTheUsername(string username)
{
int a = 1;
}
[When(@"I enter the password (.*)")]
public void WhenIEnterThePassword(string password)
{
int a = 1;
}