我们可以在asp.net中对global.asax进行单元测试吗?

Nin*_*ore 8 .net c# nunit rhino-mocks global-asax

我在进行单元测试.我不知道如何在asp.net中对global.asax进行单元测试.asp.net中的global.asax是否属于单元测试覆盖范围?还有应用程序安装程序类,其中包含系统变量.我应该测试一下吗?

Pet*_*rfy 6

您可以.但你不应该.一个单元测试,顾名思义,测试单位.global.asax或系统配置中的代码不是一个单元.对这些事情的测试将与代码紧密耦合,并且当你改变一个无关紧要的东西时总会给你错误的失败,所以它不值得.应用程序测试中还有其他级别,它们变得相关:集成测试,自动化等.您不应该将所有内容都放入"单元测试"中,只能将定义明确的单个部件.例如,您也没有对web.config或DI容器配置进行单元测试,但是您在另一个级别上测试它们.


Mar*_*len 6

我的立场是你不应该在global.asax中对代码进行单元测试.

主要原因是那里不应该有更多的声明和布线代码.正如Peter Porfy所说,该代码应该在集成测试中进行测试.

如果您在global.asax中发现任何值得单元测试的逻辑,您可能应该将其分解出来并单独测试这些类.