组织Ruby测试文件夹结构的最佳实践是什么?

Gar*_*all 13 ruby unit-testing rspec code-organization testunit

在Java中,通常您将创建两个源文件夹srctest具有相同的包层次结构.

在Ruby中,您是否只将所有测试放在与测试类相同的文件夹中?或者您是否在单独的文件夹中创建类似的层次结构?如果是这样,您如何管理require单元测试中的路径?

Hol*_*ust 9

起初,每个宝石都有一个典型的布局.代码几乎完全在lib.在根目录中,只有README这样的元数据,gemspec文件和一些可选的配置数据.如果您使用Rails或Sinatra之类的东西编写Web应用程序,则会使用它们的布局标准

在所有这些项目类型中,测试可以在类似的位置找到.根据您使用的测试框架,有不同的标准.

如果使用Test :: Unit,则测试位于test目录中.关于如何在该目录中实际组织测试文件没有真正的标准.我个人发现至少部分镜像测试代码的文件布局很有用.如果你慷慨地使用模块/名称空间,那应该使它更具可读性.

如果您使用RSpec,测试(然后称为规范)将进入spec目录.以上关于实际测试布局的说明也适用于此.

最后,主要是开发人员决定如何设置测试.由于测试是一个任何人都有不同(和字符串)意见的领域,因此没有神圣的成功之路.你应该看看你使用的一些宝石以及它们是如何做的.可以在Rails gems中找到Test :: Unit布局的示例,例如ActiveRecord.RSpec测试的一个例子是ChiliProject的chiliproject_backlogs插件.