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

Nat*_*ong 7 ruby testing ruby-on-rails

GoGaRuCo 2011的这段视频中,Corey Haines展示了一些使Rails测试套件更快的技术.我总结如下:

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

但是有几件我不理解的事情.

  • 他在rspecspn或之间交替进行测试spna(例如,在大约3:50).是spn一个众所周知的工具?
  • 在他对非Rails类和模块的测试中,他包括正在测试的模块或类,但我没有看到他包括任何类似的东西spec_helper.他如何提供Rspec?

cor*_*nes 19

对此感到抱歉.spn并且spna是别名我有我添加非Rails代码来rspec的的负载路径.除了-I path_to_code在命令行上添加a之外,它们没有任何特殊之处.

这些天,我在我的.rspec文件中添加了这样的内容:

-I app/mercury_app
Run Code Online (Sandbox Code Playgroud)

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

至于不包括spec_helper:那是真的,我没有.当您执行spec文件时rspec <path_to_spec_file>,它会被解释,因此您不需要rspec显式地要求.

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

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

  • 我接受了你的答案,因为我认为你是Corey Haines世界上最重要的权威. (5认同)
  • +1并告诉我们有关博文的信息!:) (2认同)