2

我正在拆分并重新组合一个大型网站,并希望借此机会在重新创建网站时进行一些测试驱动的开发。我遇到的问题是如何。我需要测试的许多项目都处理用户登录时设置的会话变量(或其他变量)。但如果我正在测试单个页面,我永远不会登录。

例如:

[TestMethod()]
[HostType("ASP.NET")]
[UrlToTest("http://localhost:64769/UsersDetail.aspx")]
public void GetCompanyId_Test()
{
    var testID = GetCompanyID();

    Assert.AreEqual("123456789", testID);

}

现在,问题是为了让 GetCompanyID 工作,它必须有在登录时设置的可用变量。

这可能吗?我是否必须以某种方式模拟数据?

谢谢

4

1 回答 1

1

您可能必须更改 GetCompanyID 函数以使用一些变量,这些变量由 livesystem 中的会话和单元测试系统中的 testsetup 填充。唉,您不能在 ASP.NET 中模拟 HttpSessionState - 请参阅此处:如何在 ASP.Net Web 表单中模拟/伪造会话对象?

另一个想法是在 testsetup 中实际执行 loginaction。

于 2013-06-05T20:19:37.243 回答