Разве вы не хотите использовать директиву прекомпилятора для этого?кажется немного более понятным и понятным ...
#ifdef unit_test
//unit test implementation
#else
// normal implementation...
#endif
, так что вы можете автоматически переключаться между реализациями.
Но вы можете не делать этого ... вы сталкиваетесь с отвлекающим поведением отваш проверенный код до релиза.