我正在为 Rails 应用程序编写一些集成测试。该应用程序有一组通常通过cron
/安排的后台任务whenever
。由于cron
作业仅每隔几个小时运行一次,因此我想直接从集成测试中运行它们,而不是等待cron
作业。
每个任务都通过以下方式调用whenever
:
runner "<module>.<task>"
即使用rails runner。
我的集成测试存在于应用程序周围的 API 包装器中,它与 Rails 应用程序位于不同的目录中。
因此,问题是,我可以rails runner
在与当前目录不同的目录上调用,还是从 Rails 项目之外的 rspec 示例中调用 Rails 环境中的代码?
从 Rails 应用程序的顶层以外的任何地方运行rails runner xxx
似乎都不起作用(只是打印使用横幅)。