【问题标题】:Gems slowing down Rails test startup, can I selectively disable these?宝石减慢 Rails 测试启动,我可以选择性地禁用这些吗?
【发布时间】:2009-04-23 14:30:44
【问题描述】:

我有一个糟糕的 Rails 测试启动时间。在运行可能需要 2 秒才能运行的单个功能测试时,从执行到返回命令行的总时间可能长达 10-15 秒。

我知道有两颗宝石肯定会妨碍您。 Facebook 和 Flickr 的瑰宝(Facebooker、Flickraw)。

在运行任何测试时,Facebooker 将始终打印以下消息:

/vendor/gems/facebooker-0.9.5/lib/facebooker.rb:23: warning: already initialized constant VERSION

而且 Flickraw 似乎每次都在建立网络连接,以检索我认为它可以进行的 API 调用的列表。

我可以在测试期间选择性地关闭这些宝石吗?我真的很想让我的测试运行尽可能接近实际测试的运行时间。另外,我尝试了 rails_test_server gem 并且遇到了一些困难,因为这是一个非常大的项目,并且 gem 在项目中的某个地方遇到了一些我尚未解决的冲突。但我相信这个 Facebook 和 Flickr gem 问题应该在某个地方得到解决。

【问题讨论】:

    标签: ruby-on-rails ruby optimization testing startup


    【解决方案1】:

    你如何使用这些宝石?你在config/environment.rb 的某个地方有要求吗?如果是这样,您可以将这些要求添加到开发和生产环境文件中,但不能添加到测试环境文件中。

    【讨论】:

    • 是的,在我的 environment.rb 中。我会继续将它们移到我的 env 特定配置中,看看是否可以获得更好的结果。
    【解决方案2】:

    如果您能够在不加载所有 gem 的情况下运行您的应用程序,这可能很好地表明您一开始并没有真正使用 gem,或者您的测试不充分。

    但是,正确的做法是将 gem 加载到开发和生产特定环境文件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多