测试 SessionState 以进行集成测试

时间:2021-06-11 15:28:28

标签: c# asp.net asp.net-core session

我已经能够在我的应用程序的单元测试期间成功地模拟会话,但是,我很难在集成测试中做同样的事情。我知道集成测试应该使用真实的实现,但是在这些测试期间我应该调用我真正的后备存储 (Cosmos) 吗?我觉得我应该能够模拟我的会话状态并相应地断言。

我正在使用 MSFT 的 Session and state management 来设置我的会话。

以下是我在单元测试中能够做的事情的片段:

var sampleController = GetSampleController();
sampleController.ControllerContext.HttpContext = GetSampleControllerControllerContext(
    "VALUE1",
    "VALUE2"
);

但是,我无法对集成测试做同样的事情,因为我没有创建控制器,而是依靠客户端来调用真正的服务。

在集成测试方面,是否有类似的修改 HttpContext 的方法,或者,我是否需要使用不同的测试方法(如 Selenium)来实际登录用户并针对不同的场景进行测试。

0 个答案:

没有答案