我正在尝试创建一个测试,它需要一个表,解析表来创建表的子集。使用CreateSet来使用我现有的类型。
我遇到的问题是我想根据传递的表值创建不同的列表。
例如:
然后:有值
name | otherinfo | isApple | isOrange | isMango |
ex1 | someinfo,otherinfo | true | false | false |
ex2 | someinfo,otherinfo | true | true | true |
我想使用CreateSet根据这些标志创建表的子集列表。
类似
List<apples> apples = table.CreateSet<apples>(only get apples).ToList();
但我尝试的每个liq声明都失败了。我如何在这里做“只有苹果”部分?
**注意:我想要使用的类型也没有这些标识符标志,这些只是在表中。
答案 0 :(得分:1)
Func<T> methodToCreateEachInstance
。
但这并不意味着没有其他方式
Feature: SpecFlowFeature1
In order to help people on StackOverflow
As a helpful soul
I want to discover how to use CreateSet
Scenario: Retreive and filter a table
Given I have some values:
| name | otherinfo | isApple | isOrange | isMango |
| ex1 | someinfo,otherinfo | true | false | false |
| ex2 | someinfo,otherinfo | true | true | true |
Then MyApples should not be empty
并在您的绑定中
//using TechTalk.SpecFlow.Assist;
using Should;
public class Example
{
public string name { get; set; }
public string otherInfo { get; set; }
}
[Binding]
public class StepBindings
{
public IEnumerable<Example> MyApples { get; set; }
[Given(@"I have some values:")]
public void GivenIHaveSomeValues(Table table)
{
var onlyApples = table.Rows.Where(x => bool.Parse(x["isApple"]));
MyApples = from x in onlyApples
select new Example
{
name = x["name"],
otherInfo = x["otherInfo"]
};
}
[Then(@"MyApples should not be empty")]
public void ThenMyApplesShouldNotBeEmpty()
{
MyApples.ShouldNotBeNull();
MyApples.ShouldNotBeEmpty();
}
}