1
现在我试图测试会话变量。比如我设置:C#测试修改后的会话变量
Session["test"] = "test";
然后:
if (blah) { Session["test"] = "foo"; }
else if (testing) { Session["test"] = "foo2"; }
我希望能够运行测试,以便根据我提出我可以看到,Session变量已适当改变的条件。我使用起订量尝试和我能够创建一个模拟会话,然后定义一个变量来返回特定的东西:
controllerContext.Setup(x => x.HttpContext.Session["test"]).Returns("test");
这不,虽然通过测试运行时更改。 如果我使用会话封装强烈键入变量,它似乎更加复杂,因为我尝试在控制器之间传递模拟会话和上下文。
我读了一些关于FakeContext和Fake Sessions而不是Mock的内容。我也听过一些关于使用代表的信息。真的,我只是试图模拟代码实际运行时发生的情况,并确保最终结果是我期望的,而且它恰好经常取决于我的Session变量。测试修改的最佳方法是什么?
谢谢你这么多。 http://weblogs.asp.net/bleroy/archive/2009/06/15/mocking-indexer-setters-with-moq.aspx看起来正是我所期待的。 – jchysk