即使我们有一个Makefile或类似的东西来分离产品时的测试代码。在我看来,它们应该是分开的,但我并不完全相信为什么
发布于 2012-01-27 02:15:33
是的,它们应该是分开的(文件夹,最好是项目)。一些原因:
现代IDE将允许您处理来自不同项目/文件夹的代码,就好像它们是相邻的一样。
你能做的最糟糕的事情就是在同一个文件中包含测试和生产代码(使用条件编译,不同的入口点等)。这不仅会让试图阅读代码的开发人员感到困惑,而且还会冒着意外发布测试代码的风险。
发布于 2012-01-27 02:24:49
由于我有机会使用这两种方法(独立的和项目代码),这里有一些小东西需要注意(C#、Visual Studio、MsBuild)。
相同的项目方法
MyClass
,常用的方法是将测试类命名为MyClassTest
--这在使用导航/命名完成工具时会造成一些小麻烦(因为您有更多的机会从一个以上的结果中进行选择,以快速获得无处不在的混乱的感觉
考虑到与类似功能相关的类通常如何共享前缀,命名冲突实际上会变得更加令人厌烦。ListManager
...转换器、格式化程序、提供程序)。在可理解的项数(通常为3-7个)之间导航不是问题--输入测试,再次输入长列表。
分离方法
当然,现代机器将缓解项目数量问题。除非这真的成为一个问题,否则我会一直使用 go for separated projects的方法--它更整洁,更容易管理。
发布于 2012-01-27 08:13:50
在完全自动化的构建和单元测试框架中,您基本上可以将它们分离出来。
在夜间构建完成后启动自动化的单元测试更有意义。将它们分开可以更容易进行维护。
https://stackoverflow.com/questions/9022547
复制相似问题