我有一个场景,我有5个可能的客户ID。现在我使用5种方法,但除了customerid值之外,所有代码都是相同的。我想清理我的代码,所以我没有使用5种方法,而是使用条件语句的一种方法。我猜我有办法在specflow中写这个吗?我不确定如何写出来。
作为一个例子。
Feature:
Given I am using customerid(111)
Step:
[Given]
public void Given_I_am_using_customer(int)
if (number = 111)
{
do this
}
else if (number = 222)
{
do this
}
else if (number = 333)
{
do this
}
}
答案 0 :(得分:0)
如果是我,我会这样做:
[Given]
public void Given_I_am_using_customer(Customer customer)
{
///do some stuff with the customer
}
[StepArgumentTransformation]
public Customer GetCustomer(int id)
{
switch (id)
case 111
return new Customer();// create a '111' customer here
case 222
return new Customer();// create a '222' customer here
case 333
return new Customer();// create a '333' customer here
case 444
return new Customer();// create a '444' customer here
etc
}