有没有什么好方法可以在单元测试和发布之间切换不同的上下文.在C#中

dem*_*xSH 5 c# unit-testing

我在代码中有一些上下文要切换,具体取决于它是在测试版本还是在发布版本下运行.在我的产品编码中说:

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)

如果我有很多地方可以这样做,这似乎很冗长.这样做有什么好的模式吗?