【问题标题】:Can RubyMine IDE recognize rspec tests if filename does not have _spec suffix?如果文件名没有 _spec 后缀,RubyMine IDE 可以识别 rspec 测试吗?
【发布时间】:2013-01-03 09:56:53
【问题描述】:

让我先说我是 Ruby 的新手。

我正在 RubyMine 中做一个关于 Ruby 的非常基础的教程,作为教程的一部分,我们在一个名为 thing.rb 的 .rb Ruby 文件中创建了一个类。除了课程之外,本教程还让我们将 Rspec 测试放在同一个 .rb 文件中。 .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 上工作,拥有 RubyMine 4.5 版,使用 ruby​​ 解释器 1.9.3,rspec 2.12.0。

【问题讨论】:

    标签: ruby rspec rubymine


    【解决方案1】:

    如果你进去Run > Edit Configurations...

    然后选择All Specs in <Your Project>,您将看到文件名掩码:**/*_spec.rb

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

    现在,当您添加第二个文件并使用 require_relative 加载另一个文件时,两个测试都会运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-27
      相关资源
      最近更新 更多