我有一个名为SingletonDemo的类库,但是我选择在该库外部提供静态访问方法SingletonDemo :: GetInstance(),因此,当我为生产构建代码时,我想要一个版本的Getinstance(),而当我进行单元测试时,我想要另一个版本。
答案 0 :(得分:0)
您不会为此使用预编译器指令吗? 似乎更具可维护性和可读性...
#ifdef unit_test
//unit test implementation
#else
// normal implementation...
#endif
因此您可以在实现之间自动切换。
但是您可能会考虑不这样做...导致行为从测试代码转移到发行版。