在 Java 中,通常您会创建两个具有相同包层次结构的源文件夹 src
和 test
。
在 Ruby 中,您是否只是将所有测试放在与被测类相同的文件夹中?还是在单独的文件夹中创建类似的层次结构?如果是这样,您如何管理单元测试中的 require
路径?
最佳答案
起初,每个 gem 都有一个典型的布局。代码几乎完全在 lib
中。在根目录中,只有 README
、gemspec
文件和一些可选配置数据等元数据。如果您使用 Rails 或 Sinatra 之类的工具编写 Web 应用程序,则会改用它们的布局标准。
尽管在所有这些项目类型中,都可以在相似的位置找到测试。根据您使用的测试框架,有不同的标准。
如果您使用 Test::Unit
或 minitest ,测试通常在 test
目录中。关于如何实际组织该目录中的测试文件,没有真正的标准。我个人发现至少部分反射(reflect)测试代码的文件布局很有用。如果您慷慨地使用模块/命名空间,那么在您的测试中遵循此设置时,这应该也会使其更具可读性。
如果您使用 RSpec ,测试(然后称为规范)进入 spec
目录。上述关于实际测试布局的注意事项也适用于此。
最后,如何设置测试主要取决于您自己的决定。由于测试是一个很多人都有不同(和强烈)意见的领域,因此没有通往成功的圣路。您应该看看您使用的一些 gem 以及它们是如何工作的。 minitest
布局的示例可以在 Rails gems 中找到,例如对于ActiveRecord . RSpec 测试的一个例子是我的 rackstash图书馆。
关于ruby - 组织 Ruby 测试文件夹结构的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8202523/