您通常会如何分离您的代码库和相关的单元测试?我知道那些为单元测试创建单独项目的人,我个人觉得这些项目令人困惑,难以维护。另一方面,如果你在单个项目中混淆了代码和测试,那么最终会得到与你的单元测试框架(无论是NUnit,MbUnit还是其他)相关的二进制文件和你自己的二进制代码。C# - 不包括项目发布版本中的单元测试
这是很好调试,但一旦我建立一个发行版本,我真的不希望我的代码参考单元测试框架了。
我发现的一个解决方案是在#if DEBUG - #endif指令中包含所有单元测试:当没有代码引用单元测试程序集时,编译器足够聪明,可以省略编译代码中的引用。
是否有任何其他(可能更舒适)的选项来实现类似的目标?
这也迫使你通过公开的方法来测试行为,而不是玩你的课堂内部。双奖金IMO。 – 2008-09-17 10:46:49
我会推荐一个不同的文件夹结构。 ProjName \ Code \ SubPackage和ProjName \ Tests \ SubPackage。 – Gishu 2008-09-17 11:16:58