【发布时间】:2013-05-08 01:25:21
【问题描述】:
我想在一个项目中针对另一个项目运行我的命令行工具来分析 Cucumber 测试。这两个项目都有自己的 gemsets。
当我执行指向另一个项目的 Cucumber 时,它尝试使用我的 gemset/configuration 执行,然后它失败了。
如何“更改范围/上下文”以使 Cucumber 在其他项目文件夹中运行(并使用其自己的 Gemfile 和配置)?
【问题讨论】:
我想在一个项目中针对另一个项目运行我的命令行工具来分析 Cucumber 测试。这两个项目都有自己的 gemsets。
当我执行指向另一个项目的 Cucumber 时,它尝试使用我的 gemset/configuration 执行,然后它失败了。
如何“更改范围/上下文”以使 Cucumber 在其他项目文件夹中运行(并使用其自己的 Gemfile 和配置)?
【问题讨论】:
类似下面的东西应该可以工作:
Bundler.with_clean_env do
system("cd other/project; bundle exec cucumber")
end
【讨论】:
“快速而肮脏”的解决方案是进行系统调用,然后进入主项目目录;运行bundle install;然后cucumber features/
system("cd other/project && bundle install && bundle exec cucumber features/")
【讨论】: