使用Rails进行测试驱动开发(TDD)

5

我正在寻找与Rails相关的TDD资源。

我看过了Rails指南:创建Rails插件的基础知识,这真的激发了我的兴趣。

我有《使用Rails进行敏捷开发》这本书,我看到里面有一些与测试相关的信息。然而,作者似乎是带你完成应用程序的构建步骤,然后再添加测试。这并不是真正的测试驱动开发。

理想情况下,我想要一本关于这方面的书,但如果没有这样的书,一些其他教程或文章的集合也很好。

我想学习的内容:

  • 主要目标:最佳实践
  • 单元测试
  • 如何利用固定数据
    • 可能使用现有的开发数据代替固定数据
      • 社区标准是什么?
  • 为插件编写测试
  • 使用会话数据进行测试
    • 用户已登录
    • 用户可以访问URL /foo/bar
  • 测试数据更改
    • 作者更新文章
    • 产品状态更改为缺货
    • 用户购买产品(行为?)
      • 用户已登录
      • 用户有有效地址和有效信用卡
      • 订单记录已生成
      • 信用卡交易历史记录已更新
      • 向用户发送电子邮件
  • 测试发送电子邮件的成功性
  • 测试AJAX
    • 可能测试一般jQuery功能(界面元素等)
  • RSpec
    • RSpec在Rails应用程序中的作用是什么?
  • 测试的未来
    • 测试将走向何方?哪些事物即将被淘汰?
    • 在Rails 3中将使用哪些模式?

感谢您的帮助!


请查看类似帖子中的答案:https://dev59.com/NXM_5IYBdhLWcg3waieJ#6243865 - sivabudh
3个回答

2

BDD和TDD有什么区别?是否有论据表明其中一种比另一种更好?还是它们只是涵盖不同的内容? - maček
我也想建议这个 - 这真的是Rails世界中最先进的技术。BDD和TDD密切相关,只是从不同的角度解决了同一个问题。rSpec实际上是一个基于DSL构建的测试框架,可以生成易读的“意图”。 - Toby Hede
这是一个很好的描述。我认为TDD从内部的角度即编码者的角度来进行测试,而BDD则从外部的角度即利益相关者或客户的角度来进行测试。更好的BDD工具的输出非常接近于一份需求规格说明书,可以交给客户。 - zetetic

1

这是一个较旧的问题,但我想补充一下,Michael Hartl的Learn Rails by Example通过TDD引导用户,并涵盖了原始问题中提到的大部分要点。

我还想补充一点,Everyday Rails Testing with RSpec是一个很好的购买选择,特别是因为作者会向已购书客户提供免费更新,并计划在Rails 4发布后再次更新。



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接