Corey Haines在GoGaRuCo 2011上使用了哪些测试工具和方法?

时间:2012-05-23 19:54:58

标签: ruby-on-rails ruby testing

this video from GoGaRuCo 2011中,Corey Haines展示了一些使Rails测试套件更快的技术。我总结如下:

  • 将尽可能多的代码放在Rails应用程序之外,放入其他模块和类
  • 单独测试,没有加载Rails的开销
  • 在您的Rails应用程序中使用它们

但有几件我不明白的事情。

  • 他在使用rspecspnspna(例如,大约3:50)运行测试之间进行交替。 spn是一个众所周知的工具吗?
  • 在他对非Rails类和模块的测试中,他包含了正在测试的模块或类,但我没有看到他包含spec_helper之类的内容。他如何获得Rspec?

1 个答案:

答案 0 :(得分:19)

对此感到抱歉。 spnspna是我将非铁轨代码添加到rspec加载路径的别名。除了在命令行中添加-I path_to_code之外,没有任何特殊之处。

现在,我将这样的内容添加到我的.rspec文件中:

-I app/mercury_app

然后我可以在我的规格顶部做简单的require 'object_name'

至于不包括spec_helper:这是真的,我没有。当您使用rspec <path_to_spec_file>执行规范文件时,会对其进行解释,因此您无需明确要求rspec

对于我最近的数据库规范,我还构建了一个active_record_spec_helper,它需要active_record,建立与测试数据库的连接,并设置database_cleaner;这允许我只需要我的模型在我的spec文件的顶部。这样,我可以针对数据库测试AR代码,而无需加载我的整个应用程序。

我正在使用这些技术工作的客户有兴趣支持一些博客文章,所以希望他们将在6月中旬开始。