0

我正在为 Rails 应用程序编写一些集成测试。该应用程序有一组通常通过cron/安排的后台任务whenever。由于cron作业仅每隔几个小时运行一次,因此我想直接从集成测试中运行它们,而不是等待cron作业。

每个任务都通过以下方式调用whenever

runner "<module>.<task>"

即使用rails runner。

我的集成测试存在于应用程序周围的 API 包装器中,它与 Rails 应用程序位于不同的目录中。

因此,问题是,我可以rails runner在与当前目录不同的目录上调用,还是从 Rails 项目之外的 rspec 示例中调用 Rails 环境中的代码?

从 Rails 应用程序的顶层以外的任何地方运行rails runner xxx似乎都不起作用(只是打印使用横幅)。

4

1 回答 1

0

你可以这样做:

<your-app-root>/script/rails runner <arguments>

<your-app-root>您的应用程序的根路径在哪里,并且<arguments>无论如何都是您要提供给跑步者的参数。

于 2013-10-04T14:47:55.250 回答