我想从specflow功能文件中读取表数据。
表值为'000085'
当我从表格中创建销售报价时:
|客户帐户|
| 000085 |
//Code:
public void CreateSalesQuotation(Table table)
{
dynamic tableData = table.CreateDynamicInstance();
int x = tableData.CustomerAccount;
}
结果: 预期值为000085,但我在x变量中获得的实际值为85
答案 0 :(得分:0)
有两种解决方案:从一开始就将其用作字符串。由于可能在数据库中,它也是char或varchar(类似于字符串)。
string x = tableData.CustomerAccount;
//value is 000085
或者您可以将整数操纵为带有前导零的字符串。
int x = tableData.CustomerAccount;
//now it is 85
string y = x.ToString();
//we convert to string so we can use padleft
string z = y.PadLeft(2, '0');
//this will add 2 zeros to the beginning of the string.
当然,您需要优化最后一位,以使前导零正确。
答案 1 :(得分:0)
specflow的版本是什么?
最好使用 CreateInstance 而不是 CreateDynamicInstance 来避免对字符串进行额外的操作。
public void CreateSalesQuotation(Table table)
{
var tableData = table.CreateInstance<Customer>();
var value = tableData.CustomerAccount;
}
internal class Customer
{
public string CustomerAccount { get; set; }
}
结果:期望值为000085,实际值为000085