【问题标题】:How to define a Rake task with arguments and dependencies如何使用参数和依赖项定义 Rake 任务
【发布时间】:2016-04-01 07:21:07
【问题描述】:

我一直在寻找这个高低,特别是具有依赖关系和任务参数的 RSpec rake 任务 - 找到答案并帮助后代

基本上我想按标签过滤测试,并传递一个触发器,用于某些特定于应用程序的行为。

bundle exec rake spec[some_tag,some_trigger]

我想依赖 :clean 和 'test-reports' 任务

【问题讨论】:

    标签: ruby rspec rake


    【解决方案1】:

    答案在记录 lib/rake/task_manager.rb 文件中的“resolve_args_with_dependencies(args, hash)”方法的注释中。

    # The patterns recognized by this argument resolving function are:
    #
    #   task :t => [:d]
    #   task :t, [a] => [:d]
    

    所以这意味着你需要如下声明任务

    # :spec task depends on clean and 'test-reports' tasks
    # and takes args for tags and triggers
    RSpec::Core::RakeTask.new(:spec, [:tag, :triggers] => [:clean, 'test-reports']) do |task, args|
      task.rspec_opts = "--tag #{args[:tag]}"
      # args is a Rake::TaskArguments object (NOT a hash)
      ENV[TRIGGERS] = args[:triggers]
    end
    

    【讨论】:

    猜你喜欢
    • 2017-10-04
    • 1970-01-01
    • 2011-12-26
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 2015-09-13
    • 2012-09-22
    相关资源
    最近更新 更多