Ruby-RSpec如何在项目根目录中包含规范?

时间:2019-05-05 22:10:32

标签: ruby rubygems

rspec总是在spec/目录树中查找文件。

我如何还能找到位于项目根目录(包含spec/文件夹iself的文件)中的文件。

例如,如果我有一个仅进行两个测试的小项目,则采用最小化方法可能基本上不需要任何文件夹的开销。或者,如果您只有一种类型的测试,并且只会创建一个文件夹,则可能(或可能)不值得创建一个文件夹或完全省略它。当然,它添加的值是立即描述存在哪种类型的测试,即使只有一种类型也是如此。

2 个答案:

答案 0 :(得分:1)

Spec支持--default-path选项和you can put a default set of command-line options into an .rspec file。也就是说,您可以在包含以下内容的项目根目录中创建一个.rspec文件:

--default-path .

我的经验通常是rspec测试几乎总是在spec目录中;如果在顶级目录中看到它们,我会有些惊讶。尤其是,它镜像了standard gem filesystem layout,该代码将所有库代码放入lib目录中,并在并行的spec目录中进行测试。

答案 1 :(得分:0)

一种方法:

# File: spec_helper.rb  Add the following at the top:

Dir.glob(File.expand_path("../../*_spec.rb", __FILE__)).each do |file|
  require file
end

这将在spec/

中包含根目录中的文件