我有一个方法,它接受用户ldap角色并根据网站web.config文件中名为“ValidRoles”的列表评估他/她的每个角色。为了测试的目的,我们将假设用户角色在不同的用户中保持不变。单元测试场景
现在我想欺骗的方法进入一个不同的列表(而不是我的web.config中的一个)来比较和当我运行我的单元测试。 我该怎么做?我是单元测试新手。我很欣赏任何建议。下面显示了我正在测试的方法,web.config中的ValidRoles和现有的单元测试。
private bool IsValidClaimStationRoles()
{
foreach (string role in RoleList)
{
if (role != null)
{
if (ValidRoleList.Contains(role.ToUpper()))
{
return true;
}
}
}
return false;
//从web.config中的有效角色
<add key="ValidRoles" value="C-2,CP-1,CM-1,CIS-1,CID-1"/>
//单元测试
[TestMethod()]
[DeploymentItem("ClaimsDocMgmtLinkWeb.dll")]
public void IsValidClaimStationRolesTest_Negative()
{
AuthenticateUser_Accessor target = new AuthenticateUser_Accessor(); // TODO: Initialize to an appropriate value
target.CreateTicket();
bool expected = false;
bool actual;
actual = target.IsValidClaimStationRoles();
Assert.AreEqual(expected, actual);
}
查看嘲弄(MOQ)或伪造(Fakes)。这样可以伪装某些对测试方法所必需的对象和方法。 – Marko
是不同项目中的测试吗?通常测试项目可以有自己的配置文件 – tim
是的。实际上这些测试是在一个不同的.NET解决方案中。 – Jazzcatone