Ruby 有没有一种方法可以在一个耙子里钩住一个前后的套间?

Ruby 有没有一种方法可以在一个耙子里钩住一个前后的套间?,ruby,rspec,rspec2,rakefile,Ruby,Rspec,Rspec2,Rakefile,我当前的Rakefile如下所示: # ... task :test do # build testing environment RSpec::Core::RakeTask.new(:spec) do |t| # ... end Rake::Task["spec"].execute # remove testing environment end 不幸的是,这不会在Rake::Task[“spec”]之后执行任何操作。出于一些我无法想

我当前的Rakefile如下所示:

# ...

task :test do
    # build testing environment
    RSpec::Core::RakeTask.new(:spec) do |t|
        # ...
    end
    Rake::Task["spec"].execute
    # remove testing environment
end
不幸的是,这不会在
Rake::Task[“spec”]之后执行任何操作。出于一些我无法想象的原因执行


那么,有没有一种方法可以指定在测试套件运行之前和之后,在Rakefile中执行什么呢?

如果您的规范失败了,可能这就是为什么在
Rake::Task[“spec”]之后什么都不执行。execute
会被执行。为什么不在(:suite)
之前(:suite)和(:suite)之后使用Rspec的
钩子,而不是使用Rakefile呢?如果您有
spec\u helper.rb
,您可以将该代码放入您的
spec\u helper.rb中


“如果您有spec_helper.rb,您可以将该代码放入其中。”——“…在Rakefile中?”否,在名为
spec_helper.rb的文件中,该文件是另一个文件。大多数人都有一个
spec/spec\u helper.rb
,在他们的规范中他们写
需要“spec\u helper”