我在代码中有一些上下文要切换,具体取决于它是在测试版本还是在发布版本下运行.在我的产品编码中说:
PublishRequest(); // the real one
//PublishRequestPsudo(); // the one want to be run during unit test
Run Code Online (Sandbox Code Playgroud)
我正在考虑的方法是创建一个TestFlag类:
if (!TestFlag.PublishFlag)
{
PublishRequest();
}
else
{
PublishRequestPsudo();
}
Run Code Online (Sandbox Code Playgroud)
如果我有很多地方可以这样做,这似乎很冗长.这样做有什么好的模式吗?
实现相同的一种很好的方法是依赖注入/控制反转
另一个很好的资源是Caching ArchitectureTestability,Dependency Injection和Multiple Providers