面向绝对初学者的单元测试-I';我在用Ruby

面向绝对初学者的单元测试-I';我在用Ruby,ruby,unit-testing,testing,Ruby,Unit Testing,Testing,我意识到我确实需要开始学习与单元测试相关的行为和模式,尤其是ruby,因为我可以将这些知识迁移到其他语言。有没有关于如何开始的好例子?我所面临的问题是,对于我正在使用和工作的当前系统来说,开始单元测试似乎是无法克服的 我从来没有为操作代码构建过一个单独的单元测试,只是尝试了15个左右的在线教程,这些教程向您展示了ruby的核心类似乎运行良好。我需要知道如何为自己的系统构建这些测试,以及寻找和测试什么的心态 在线有哪些好的教程向您展示了如何做更多的事情,而不仅仅是测试assert_true是否正确

我意识到我确实需要开始学习与单元测试相关的行为和模式,尤其是ruby,因为我可以将这些知识迁移到其他语言。有没有关于如何开始的好例子?我所面临的问题是,对于我正在使用和工作的当前系统来说,开始单元测试似乎是无法克服的

我从来没有为操作代码构建过一个单独的单元测试,只是尝试了15个左右的在线教程,这些教程向您展示了ruby的核心类似乎运行良好。我需要知道如何为自己的系统构建这些测试,以及寻找和测试什么的心态

在线有哪些好的教程向您展示了如何做更多的事情,而不仅仅是测试assert_true是否正确,反之亦然?即使它们不是针对ruby的,我应该阅读或浏览哪些必须阅读和必须实验的单元测试指南?最好有一个逐步的教程

比如在实际存在的模型和框架中使用这些单元测试,以及实际测试的目的是什么?我仍在试图让我的头脑绕过测试心态,我不断地被不同的因素所左右。没有人真正明确地描述了你需要用什么样的心态来进行单元测试,因为所有编写过指南或教程的人似乎都已经将你处理系统的逻辑内化了


非常感谢您的帮助。

我知道这是一个perl教程,但我认为它对方法/理念非常有用:。这是我读到的第一篇教程,其中提到了让测试首先失败,还有很多其他的好技巧。

很容易偏离主题,深入到诸如rcov之类的代码覆盖工具,甚至更详细的工具,例如。这些工具很棒,它们可以追踪bug,但它们应该是与设计和文档相关的单元测试的次要工具

我觉得这就是总结——从这一页

  • “编写单元测试的行为与其说是验证,不如说是设计。”
  • “与其说是核实,不如说是记录”

从技术上讲,它是BDD,但我推荐它,因为它在解释概念方面做得很好,并且有扩展的教程。本书的第二部分将介绍Cucumber,因此它也将教您这一点。

单元测试不是TDD,TDD也不是单元测试。TDD使用单元测试工具来创建期望结果的规范。单元测试测试最小的可测试单元。正如您所指出的:TDD根本不是一种测试方法,也不应该被视为测试方法。7年后,在这里添加了一条评论,Rspec的书帮助了我,现在我不仅可以用ruby进行单元测试,而且我有信心用多种语言进行测试。学习单元测试工作使我成为了一名更好的开发人员,并帮助我构建了更加健壮和可维护的软件。我完全推荐它。