在this video from GoGaRuCo 2011中,Corey Haines展示了一些使Rails测试套件更快的技术。我总结如下:
但有几件我不明白的事情。
rspec
和spn
或spna
(例如,大约3:50)运行测试之间进行交替。 spn
是一个众所周知的工具吗?spec_helper
之类的内容。他如何获得Rspec?答案 0 :(得分:19)
对此感到抱歉。 spn
和spna
是我将非铁轨代码添加到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月中旬开始。