ruby-on-rails - 是否可以在不使用环境变量的情况下将参数发送到 `rake cucumber`?

标签 ruby-on-rails cucumber rake

我看到可以将参数传递给 rake 任务:

task :task_name, :arg_name do |t, args|

我想做的是将参数传递给 cucumber rake 任务:
Cucumber::Rake::Task.new({:tags => 'db:test:prepare'}) do |t, args|
  t.cucumber_opts = ['--tags', #args?]
end

这种事情可能吗?这样我可以这样做:
rake cucumber:tags['tag1', 'tag2', ...]

让它只运行那些标签。大多数消息来源都说使用环境变量,我已经这样做了,但我更愿意只以“正确”的方式提供参数。

最佳答案

您可以通过执行以下操作来使其工作:

task :task_name, :arg1 do |t, args|
  Cucumber::Rake::Task.new(:run) do |t|
    t.cucumber_opts = "--format pretty --tags @#{args[:arg1]}"
  end
  Rake::Task[:run].invoke()
end

关于ruby-on-rails - 是否可以在不使用环境变量的情况下将参数发送到 `rake cucumber`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13198300/

相关文章:

ruby-on-rails - 运行 Ruby on Rails 数据库迁移时出错

ruby-on-rails - Ruby on Rails : Migrations: how do I merge to tables into a new table?

java - 功能文件忽略步骤定义并忽略测试

java - 使用 cucumber-java 和 junit 时如何获取 cucumber RuntimeOptions 的引用?

ruby-on-rails - 使用 Ruby Mechanize 登录亚马逊合作伙伴网

ruby-on-rails - 生产日志是空白的?

ruby-on-rails - 如何仅显示 Rails 中几分钟、几小时或几周前的时间?

ruby-on-rails - Ruby on Rails 页面最初是空白的,但在刷新时正确加载

ruby-on-rails - 扩展设计以支持 JSON API

javascript - 如何检测视口(viewport)中是否存在元素? ( capybara 、 ruby )