单元测试 – 从头开始??TDD项目
我读了很多关于TDD的单元测试的问题和答案,但我没有发现任何答案:我从哪里开始?
我和团队已经完成了一些项目,其中我们采用了单元测试,对于我们的代码…但是代码先进行单元测试。在开发过程的某个时候,首先编写测试,然后编写代码,使我们更加体验TDD风格,这是很自然的。 现在我们想做下一步,尝试从一开始就用TDD开始一个新的项目。这里的问题…从哪里开始?当我没有代码的时候,我会写什么第一个测试? 假设有一个上下文想想,我必须开发一个互联网应用程序,以文档为中心,有一点工作流程和别的东西。 我在这里有一点混乱,而且getAlDocuments()可能永远不会是一个生产方法…所有的文档集合将被排序和过滤的东西…它有意义吗? 编辑: 在阅读你的答案(和类似的线程在http://programmers.stackexchange.com)后,我有一个更好的视野的TDD,但我仍然有一个dubt。 我总是认为TDD是关于单元测试的第一…从来没有想过端对端测试。 我如何进行端到端测试作为我的第一个测试?我应该写所有的代码,在所有的层,让该测试通过。但是,我将有一堆课程和方法都通过我的端到端测试进行测试(不应该将其称为集成测试)?这意味着我不再需要单元测试,因为我已经有一个覆盖我的代码的测试。而且我不能写出一个已经通过的测试,而是针对TDD原则。 请帮助我了解这一步
TDD不是关于单元测试 – TDD是关于通过测试来驱动您的开发和架构 – 通过您需要的任何类型的自动测试。你看到了点吗?
您正在开始一个新项目,您可能有一组功能。您应该有一些验收标准,您将要实现的功能。这些标准可以定义您的顶级测试。我们开始采用端到端测试(有时候这可能很难,因为它涉及不存在的UI)或这些接受标准的集成测试。一旦测试失败,您将继续实施与大型测试相关的功能,但每个功能将再次通过集成或单元测试来驱动。如果所有顶级测试都通过,该功能将完成。 如果您跳过大型测试(端到端,集成),您将开发一套经过良好测试的单元,这些单元在集成在一起时不起作用,或者由于单元测试定义的本地范围,您的架构将不会很好。集成和端到端测试为您提供全球范围。 这在书Growing Object-Oriented Software Guided by Tests中用大例子(Java)进行了描述。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |