代码之家  ›  专栏  ›  技术社区  ›  mwilliams

gems减慢Rails测试启动,我可以选择性地禁用这些吗?

  •  2
  • mwilliams  · 技术社区  · 16 年前

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

    我知道有两颗宝石肯定挡了路。facebook和flickr gem(facebooker、flickraw)。

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

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

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

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

    2 回复  |  直到 16 年前
        1
  •  1
  •   ujh    16 年前

    你怎么用那些宝石?你有什么要求吗 config/environment.rb ?如果是这样,您可以将这些需求添加到开发和生产环境文件中,但不能添加到测试环境文件中。

        2
  •  0
  •   Bob Aman    16 年前

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

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