我已经问了一些与此相关的问题,但还没有找到答案(或者也许明白该怎么做?)。
我们有一个应用程序正在等待用户测试的回复。与此同时,我被要求创建一个测试项目并测试所有方面,这是我们团队正在努力实现的目标。该应用程序是用 C#、aspx.net 编写的。
我已经完成大部分了。但绝对不知道如何测试两个方面。我有采用 (a) session 变量和 (b)Request.Form 数据的方法。
我发现的关于模拟的一切似乎都围绕着 MVC 架构。我问的第一个问题( here )说我应该“更改采用 HttpRequestBase 的方法”。我不应该更改任何代码(学生安置)。
如何向我的单元测试提供表单/ session 数据?我找不到任何具体内容。
新人太糟糕了。
谢谢!
编辑::
抱歉,我有起订量,但缺少一些东西......
这是 session 代码。它只在一个地方(一组测试),因为我在大约 7 或 8 个地方有 Request.Form 的实例....
protected void Page_Load(object sender, EventArgs e)
{
//get the "Storage" location
String strStorage = Path.To.Default.Storage;
XDocument xmlDoc = XDocument.Load(Path.Combine(strStorage, "pending/") + Request.Form["thing"] + ".xml");
Session["Files"] = "";
foreach (XElement element in xmlDoc.Elements().Elements())
{
if (element.Name.ToString() != "File")
{
Session[element.Name.ToString()] = element.Value.ToString();
}
else
{
Session["Files"] = Session["Files"] + element.Value.ToString() + ";";
}
}
}
最佳答案
看看这里关于进行设置的第二个答案。
How do you mock the session object collection using Moq
controllerContext.SetupGet(p => p.HttpContext.Session["test"]).Returns("Hello World");
看看 Moq 是否可以让您的 session 得到控制。但一些示例代码会有所帮助。更改名称和其他任何内容,以牢记您公司的最佳利益。
关于c# - 包含从 Request.Form 中挑选的数据的单元测试方法。新手问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11144776/