我使用#define
宏来启用/禁用代码中的自动测试。例如,我可以使用下面的行来启用自动测试:
#define FEATURE_AUTOMATED_TEST
当我提交代码时,我希望这个测试被禁用,所以我只需注释它:
//#define FEATURE_AUTOMATED_TEST
(通常我在C代码中不使用C++风格的注释,但对于这种情况,它非常方便。)
不幸的是,有时我(或其他人)意外地离开了在SVN提交时启用的宏,需要后续的SVN提交来修复问题。我知道我可以使用某种形式的#warning
宏来帮助防止这种情况,但是我正在寻找一个更好的解决方案。在这里,SVN会说:“嗯,没有人,你不能这样签入,因为你已经启用了FEATURE_AUTOMATED_TEST
。傻瓜。”
有什么想法吗?我完全愿意改变我启用/禁用测试部分的方式.它不需要使用#define
,但是它必须在编译时排除任何禁用的测试代码。
发布于 2014-07-21 20:53:59
https://stackoverflow.com/questions/24874530
复制相似问题