为了测试,我需要构建一个略微不同版本的MVC服务。
这个想法是在启动时模拟某些服务,例如身份验证,而不向主版本添加代码。 为了防止部署任何测试代码,所有测试代码都位于文件中,并且无法使用编译指令将其编译为主版本。
因此,为了保持所有事物的分离,我需要一种方法来挂钩启动,而无需在MVC的标准启动类中实际编写代码。 它怎么能这样做,但保持我的主版本代码干净?
正如一个简单的例子,我想做什么:
#if MOCK //code only included into mock build type
namespace MyService.MockBuild
{
public class ServiceFactoryMock : ServiceFactory
{
//prepare mocked versions of the services
...
}
public class MockService
{
//this is what needs to be done at startup, from here
public static void MockTheServer()
{
global.serviceFactory = new ServiceFactoryMock();
}
}
}
#endif
答案 0 :(得分:0)
一种方法是注册PreApplicationStartMethod
var capitalizeTest = capitalizeFirstLetter(splitUp[splitUp.length - 1]);
对我来说这是一种可以接受的方式,有更多完整的方法可以按照建议here自定义asp.net构建。