RSpec和测试驱动开发(TDD)入门

作为一个崭新的程序员,应对编码挑战最有用的方面之一就是内置的测试文件,该文件可以指导一个人的编码解决方案。 这些测试非常有用,它们指出了错误的出处,错误的类型,并提供了spec文件本身作为一种工具,可帮助您跟踪工作流程中确切的位置,具体示例代码是否出了问题。经过测试。 但是,初次遇到测试时也有些令人生畏。 当我最终从头开始编写程序或功能时,也必须自己编写测试以指导自己的代码。 虽然我已经阅读过测试的核心,但它们是一个非常简单易用的工具,但实际上开始使用它们似乎非常令人生畏。 为了解决这种感觉,并向自己介绍对开发人员的工作流程最终至关重要的领域,我决定深入探讨该主题及其实现的逻辑,并朝着成为对测试驱动开发(TDD)完全满意。 对于我来说,很容易很快地解决一个问题,编写一堆无法正常工作的代码,并且非常迷茫,有时到我必须从头开始完全重新开始的地步。我自己摆脱了杂草。 因此,对我而言,不断强化完善的实践非常重要,它可以帮助编码人员保持进度,保持简单,不灰心或迷路,并意识到他们在项目中的位置以及他们正在努力的目标。 这就是测试驱动开发的用武之地。它是一种工作流策略,从本质上为您要完成的任务以及您希望如何完成它提供锚定方向。 这是将问题分解成最基本的构建块的一种好方法,以至于创建一个极其复杂的程序的过程由完全可管理的较小步骤组成。 但是它到底如何工作? 我选择了一个非常基本的示例,因为我的意图主要是为了说明TDD工作流程。 假设我要创建一个名为Monkey的类,它可以完成三件事。 首先,使用名称进行初始化。 其次,在实例化时给它一个新鲜的香蕉。 第三,它具有去皮香蕉的能力,可以随时食用。 我可以通过使用包含/设置名称和香蕉变量的初始化方法编写类来实现此目的,然后使香蕉实例变量能够被重写,并创建一个实例方法来将香蕉皮从皮皮中去除。去皮。 在完全编写任何代码之前,我已经完成了测试驱动开发的第一部分,这是从计算机上退后一步,从概念上对我想要我的代码做什么以及我想如何去做进行思考。它。…