单元测试目录结构

zac*_*ary 17 unit-testing

巨大的项目吨和目录.

我是否让我的单元测试项目镜像这些目录,还是将它们全部放在根目录下?

必须使目录更改和类名更改两次有点烦人.

Bil*_*ard 20

您肯定希望您的单元测试目录镜像被测代码的目录.手动设置是一种轻微的痛苦,但是这种疼痛的持续时间几乎与将所有测试都放在一堆中的痛苦一样长,甚至更糟糕的是,使它们处于被测代码不同的结构中.

显然你没有使用Java,或者你的测试代码已经拥有与被测代码相同的包结构,这个问题没有实际意义.(至少无法想象以任何其他方式做到这一点.)

  • 根据语言的不同,我会更多地关注包/模块/命名空间而不是目录. (2认同)

phi*_*ant 5

我赞成在项目目录中进行单元测试,以使它们在物理上接近它们支持的代码.包含单元的目录测试一个组件/包在该组件/包目录中,在特定test目录中,与目录处于同一级别src.这就是我为C/C++项目FWIW所做的.主要原因是能够同时编译组件及其单元测试,以使单元测试可见(我们的旧组件并非都具有单元测试).

这样,对目录结构所做的每次更改都不会对测试目录结构产生任何影响,因为单元测试与生产代码一起移动.拥有两个并行目录结构对我来说是一个复制形式.