我的老板决定为我已经研究了一段时间的 Java 程序编写单元测试是个好主意。该程序是您相当典型的混乱,但它并不大。我以前从未使用或编写过任何单元测试,而且从我所读过的关于该主题的所有内容来看,预先存在的项目并不是最好的起点。不过我真的没有选择,所以我有一些问题。
我的主要问题是:我已经阅读了很多关于单元测试应该做什么、它们的范围应该是什么、如何在 TDD 过程中编写生产代码等内容。我还没有找到任何人谈论单元测试在哪里代码实际上应该去。我是否在生产代码类中自己编写测试?我是否将它们全部放在一个单独的 .java 文件(或多个文件)中?我是否将它们放在项目中自己的目录中?如果我使用后一个选项中的任何一个,我将如何访问私有对象和方法以测试它们?我觉得这应该是一个相当明显的问题,但我只是不知道。
还有一个第二个问题:我已经看到很多关于使用 TDD 的令人信服的论据,我想在我的个人项目中尝试一下。无论我的第一个问题的答案是否适用于启动全新的项目?或者我会为现有项目而不是新项目实施不同的单元测试吗?