我想使用Pex对代码进行单元测试:
private string GetOriginalFieldName(string p)
{
var strMapField = string.Empty;
foreach (GridViewRow row in gdFields.Rows)
{
var strOriginal = row.Cells[0].Text;
var txt = (TextBox)row.Cells[1].FindControl("txt");
switch (string.Compare(p, strOriginal, true))
{
case 0:
if (txt.Text != null) return txt.Text;
break;
default:
if (string.Compare(p, strOriginal + ":", true) == 0)
{
if (txt.Text != null) return txt.Text;
}
else
{
strMapField = p;
}
break;
}
}
return strMapField;
}
此函数从gridview行搜索文本,并将输入字符串替换为gridview的mapfield。
如何使用Pex进行单元测试?
答案 0 :(得分:1)
我不认为你可以在这种类型的单元测试中使用PEX,因为你有一个GridView(gdFields
)的实例,需要实例化以使测试工作。在这种情况下,您可能需要查看Moles这是一个隔离框架,它可以允许您创建GridView控件的虚假实例。
不知何故,你需要使用假文本框创建一个伪造的GridView,以便代码在没有NullReferenceException
的情况下运行。
现在我对Moles没有经验,所以我不能100%说你可以用它创建一个假的GridView,但肯定看看。虽然PEX和Moles合作得很好。