【发布时间】:2016-05-06 01:01:48
【问题描述】:
我有以下功能,包括正在测试的步骤和课程。当我将 Name 字段的可见性更改为 public 时,我可以在 Table.CreateInstance<>() 之后检索该值,但将其设为私有时会失败。
场景:获取员工详细信息。
Given below employee create a user.
| Name | age |
| John | 28 |
代码
[Binding]
public class TableSteps
{
[Given(@"below employee create a user\.")]
public void GivenBelowEmployeeCreateAUser_(Table table)
{
Employee employee = table.CreateInstance<Employee>();
Console.Write("Name:" + employee.Name); //Works as it is public.
Console.Write("Name:"+ employee.EmpName); //No value returned here. Just null.
}
}
public class Employee
{
private string Name { get; set; } //not working.
//public string Name { get; set; } //works.
public int age { get; set; }
public Employee(String Name, int age)
{
this.Name = Name;
this.age = age;
}
public string EmpName
{
get { return Name; }
}
}
【问题讨论】:
-
顺便说一句,Name 应该是一个私有字段。 CreateInstance 是否真的通过构造函数传递数据?
-
我是 Specflow 的新手。如何在specflow中使用CreateInstance传递值?