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

标签 ruby-on-rails ruby testing

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

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

不过,有几件事我不明白。

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

最佳答案

抱歉造成混淆。 spnspna是我的别名,可以将我的非 Rails 代码添加到 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 ;这让我可以简单地在我的规范文件的顶部要求我的模型。这样,我就可以针对数据库测试 AR 代码,而无需加载我的整个应用程序。

我在使用这些技术的地方工作的客户有兴趣支持一些关于此的博客文章,因此希望他们能在 6 月中旬开始发布。

关于ruby-on-rails - Corey Haines 在 GoGaRuCo 2011 上使用了哪些测试工具和方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10726912/

相关文章:

ruby-on-rails - ErrorLoadingRVMRC - 为 Rails 应用程序运行乘客时,rvmrc 文件不受信任

javascript - Rails : POST 422 (Unprocessable Entity) in Rails? 由于路线或 Controller ?

ruby - 如何使用 Thor (ruby) 创建守护进程?

ruby-on-rails-3 - rspec 测试一个嵌套的 if 函数

java - JUnit 测试 - 应该通过预期结果的测试有什么问题?

ruby-on-rails - Rails 控制台错误 : undefined method `each' for nil:NilClass (NoMethodError)

javascript - FB.login 调用后,Facebook JavaScript SDK 不会在 chrome 中设置访问 token cookie

javascript - 安全地将 Ruby 对象传递给 JavaScript

ruby - ruby 有命令行框架吗?

testing - 如何对使用POP3和SMTP的应用程序进行集成测试?