我创建了一个继承system.web.ui.page的类。

在该类中,我覆盖了一些应用程序生命周期事件,例如page_load和page_init。在调用这些事件的基础之前,我会检查会话值,cookie等。

我想单元测试检查会话和cookie的方法。我已经能够嘲笑会话和cookie对象。是否可以单位测试应用程序生命周期事件?还是我唯一完全重新因素的选择,以便从生命周期事件中调用的所有方法都在单独的班级中?

有帮助吗?

解决方案

如果您能够模拟相关对象,则可以直接调用生命周期方法。但是我不知道这是个好主意。恕我直言,任何单个生命周期事件处理程序都应执行多个任务,每个任务都应该委派给其他类别 - 而这是您应该进行单元测试的代码。

我的个人习惯是,我直接测试实用程序/服务/存储库代码,并将代码直接保留在生命周期事件中,仅在集成测试中适用而不是单位测试。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top