如果文件名没有_spec后缀,RubyMine IDE能识别rspec测试吗?

如果文件名没有_spec后缀,RubyMine IDE能识别rspec测试吗?,ruby,rspec,rubymine,Ruby,Rspec,Rubymine,让我先说我是Ruby的新手 我正在用RubyMine编写一个非常基础的Ruby教程,作为教程的一部分,我们在一个名为thing.rb的.rb Ruby文件中创建了一个类。除了这个类之外,教程还让我们在同一个.rb文件中放置了一个Rspec测试。.rb文件如下所示: require 'rspec' class Thing def value 5 end end describe Thing do it "should have a value of 6"

让我先说我是Ruby的新手

我正在用RubyMine编写一个非常基础的Ruby教程,作为教程的一部分,我们在一个名为thing.rb的.rb Ruby文件中创建了一个类。除了这个类之外,教程还让我们在同一个.rb文件中放置了一个Rspec测试。.rb文件如下所示:

require 'rspec'

class Thing
    def value
        5
    end
end

describe Thing do
    it "should have a value of 6" do
        Thing.new.value.should eq(7)
    end
end
如果我右键单击项目文件夹并运行项目中的所有规范,我会收到错误和消息,包括找到0个文件和空的测试套件。如果我只是运行rb脚本,我不会得到任何错误…脚本运行良好

奇怪的是,如果我在项目中添加第二个名为thing_spec.rb的文件,并且只在其中放入上面的测试:

require 'rspec'
require_relative 'thing'

describe Thing do
    it "should have a value of 6" do
        Thing.new.value.should eq(7)
    end
end
然后右键单击项目并选择“运行所有规范”,测试将正常运行。注意我说的测试是复数的…RubyMine将运行thing.rb中的测试和thing_spec.rb中的测试

如果我不添加另一个名为thing_spec.rb的文件,为什么它不能识别thing.rb中的测试??这对我来说毫无意义。我是否可以让它在thing.rb中运行rspec测试,而无需创建第二个文件

如果这很重要:我在Mac上工作,使用ruby解释器1.9.3,rspec 2.12.0,使用RubyMine 4.5版。

如果您选择运行>编辑配置

然后选择中的所有规格,您将看到文件名掩码:*/*\u spec.rb

这意味着当您告诉RubyMine运行所有规范时,它只运行与正则表达式匹配的文件

现在,当您添加第二个文件并且确实需要_relative来加载另一个文件时,两个测试都会运行