2011-04-27 91 views
1

我创建了一个继承System.Web.UI.Page的类。单元测试应用程序生命周期事件

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

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

回答

1

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

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