你通常如何分离你的代码库和相关的单元测试?我认识一些为单元测试创建单独项目的人,我个人觉得这很混乱且难以维护。另一方面,如果您将代码及其测试混合在一个项目中,您最终会得到与您的单元测试框架(无论是 NUnit、MbUnit 还是其他任何东西)相关的二进制文件和您自己的二进制文件。
这对于调试来说很好,但是一旦我构建了发布版本,我真的不希望我的代码再引用单元测试框架。
我发现的一种解决方案是将所有单元测试包含在#if DEBUG -- #endif 指令中:当没有代码引用单元测试程序集时,编译器足够聪明,可以忽略编译代码中的引用。
是否有任何其他(可能更舒适)的选择来实现类似的目标?