有没有办法传递参数数组,而不是分别传递每个参数?
例如,我有以下情况:
When i login to a site
then <firstname>, <lastname>, <middleName>, <Desingation>, <Street>, <Apartmentno> are valid
该列表可以在上面继续。相反,我可以将上述所有变量传递到数组中吗?
最佳答案
您可以传递以逗号分隔的字符串,然后将其转换为列表:
When i login to a site
then 'Joe,Bloggs,Peter,Mr,Some street,15' are valid
[Then("'(.*)' are valid")]
public void ValuesAreValid(List<String> values)
{
}
[StepArgumentTransformation]
public List<String> TransformToListOfString(string commaSeparatedList)
{
return commaSeparatedList.Split(",").ToList();
}
如果您希望这些值来自示例,则可以执行以下操作:
When I login to a site
then '<values>' are valid
Examples
| values |
| Joe,Bloggs,Peter,Mr,Some street,15|
| Joe,Bloggs,Peter,Mr,Some street,16,SomethingElse,Blah|
如果要使用表,则可以执行以下操作:
When I login to a site
then the following values are valid
| FirstName | LastName | MiddleName | Greeting| Etc | Etc |
| Joe | Bloggs | Peter | Mr | you get| The Idea|
(如果需要,可以省略标题,而仅使用我认为的行值)
您也可以使用以下示例:
When I login to a site
then the following values are valid
| FirstName | LastName | MiddleName | Greeting | Etc | Etc |
| <name> | <lastName>| <middleName>| <greeting>| <etc> | <etc> |
关于arrays - 在specflow中传递变量数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31062446/