有没有办法在Rakefile中挂钩套件之前和之后?

时间:2014-05-05 15:54:28

标签: 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"].execute之后不执行任何操作。

那么,有没有办法在测试套件运行之前和之后指定要执行的内容,在Rakefile中

1 个答案:

答案 0 :(得分:0)

如果您的规格失败,也许这就是Rake::Task["spec"].execute执行后没有任何原因的原因。而不是使用Rakefile,为什么不使用Rspec的before(:suite)after(:suite)钩子?如果您有代码,可以将代码放在spec_helper.rb中。

https://www.relishapp.com/rspec/rspec-core/v/2-0/docs/hooks/before-and-after-hooks#before/after-blocks-defined-in-config-are-run-in-order