【问题标题】:Rakefile not calling default taskRakefile 没有调用默认任务
【发布时间】:2015-02-15 05:14:51
【问题描述】:

我正在尝试编写一个 rakefile,并拥有我认为应该调用 simplecov 然后调用 rspec 来运行测试的东西,但是当我运行我的 rakefile 时,没有任何东西被执行。难道我做错了什么?另外,有没有办法给:spec任务一个依赖,我希望它在执行之前调用:simplecov

require 'rake'

task :coverage do
  require 'simplecov'
  SimpleCov.start 'rails'
end

require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec)

task :default => [:coverage, :spec]

【问题讨论】:

    标签: ruby-on-rails ruby rspec rakefile simplecov


    【解决方案1】:

    很遗憾,默认只能有一个任务,但欢迎您使用命名空间将任务打包在一起。你的可能看起来像:

    require 'rake'
    
    namespace :rspec_cov do
      task :coverage do
        require 'simplecov'
        SimpleCov.start 'rails'
      end
    
      task :spec do
        sh 'bundle exec rspec'
      end
    end
    
    task :testing => ["rspec_cov:coverage", "rspec_cov:spec"]
    

    现在运行rake testing 将根据需要运行这两个任务。另外,如果您收到退出代码问题(就像我一样),SimpleCov 中似乎存在他们正在处理的错误 (issue here)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多