我已经能够在我的应用程序的单元测试期间成功地模拟会话,但是,我很难在集成测试中做同样的事情。我知道集成测试应该使用真实的实现,但是在这些测试期间我应该调用我真正的后备存储 (Cosmos) 吗?我觉得我应该能够模拟我的会话状态并相应地断言。
我正在使用 MSFT 的 Session and state management 来设置我的会话。
以下是我在单元测试中能够做的事情的片段:
var sampleController = GetSampleController();
sampleController.ControllerContext.HttpContext = GetSampleControllerControllerContext(
"VALUE1",
"VALUE2"
);
但是,我无法对集成测试做同样的事情,因为我没有创建控制器,而是依靠客户端来调用真正的服务。
在集成测试方面,是否有类似的修改 HttpContext
的方法,或者,我是否需要使用不同的测试方法(如 Selenium)来实际登录用户并针对不同的场景进行测试。