每次使用Spork运行时都强制重新加载application_controller

4

我正在使用Spork来加速我的RSpec测试。不幸的是,每次运行时我的application_controller.rb并没有重新加载,所以当我修改它时必须重新启动Spork。是否有一种方法可以在每次测试运行时强制重新加载?我猜我需要在Spork.each_run中添加一些额外的代码。

2个回答

0
尝试将ActiveSupport :: Dependencies.clear放入Spork.each_run块中。然后,当您完成对application_controller.rb进行自动测试时,可以将其删除,尽管新的延迟不应太糟糕。

0

我曾经遇到过同样的问题,但是Spork被设计成可以在没有更改的情况下自动重新加载application_controller.rb。所以我深入研究了一下,在这篇博客文章的评论中提到,我运行了spork --diagnose。它列出了最初由spork加载的所有文件以及每个文件加载的回溯。这向我展示了在我的应用程序中,我碰巧有一个初始化程序引用了ApplicationController的子类,因此它最初被加载。一旦我打破了这种依赖关系,当使用Spork时,我的application_controller.rb在每次测试运行时都开始正确地重新加载。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接