1

我创建了一个继承 System.Web.UI.Page 的类。

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

我想对检查会话和 cookie 的方法进行单元测试。我已经能够模拟会话和 cookie 对象。是否可以对应用程序生命周期事件进行单元测试?还是我唯一的选择是完全重构类,以便从生命周期事件中调用的所有方法都在一个单独的类中?

4

1 回答 1

1

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

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

于 2011-04-27T08:37:51.927 回答