首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在编写代码之前编写测试

在编写代码之前编写测试
EN

Stack Overflow用户
提问于 2015-02-10 14:47:17
回答 5查看 390关注 0票数 1

据我所知,TDD和BDD循环类似于:

  1. 从写测试开始
  2. 看他们失败
  3. 写码
  4. 通过测试
  5. 重复

问题是,在编写任何代码之前,如何编写测试?我应该创建某种类骨架或接口吗?还是我误解了什么?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-02-10 15:09:00

你有它的本质,但我会改变你的描述的一部分。在编写代码之前不编写测试--在编写代码之前编写测试。然后--在编写更多测试之前--编写足够的代码来通过测试。当它通过时,您将寻找改进代码的机会,并在保持测试通过的同时进行改进--然后编写第二个测试。关键是,在任何给定的时间,您都会专注于一小部分功能。下一步你想让你的程序做什么?为此写一个测试,仅此而已。让测试通过。清理密码。接下来你想让它做什么?一直循环到你高兴为止。

问题是,如果在编写代码之前编写测试,那么就没有重点。一次只考一次。

票数 7
EN

Stack Overflow用户

发布于 2015-02-10 14:59:00

是的,这是正确的。如果您查看Michael关于Rails的书(免费查看HTML ),您将看到他是如何做到这一点的。因此,要添加到lared所说的内容,让我们假设您的第一项工作是添加一个新的按钮到网页。您的流程将如下所示:

  1. 编写一个测试来查找页面上的按钮。
  2. 验证测试失败(不应该存在按钮,因此应该失败)。
  3. 编写代码将按钮放置在页面上。
  4. 验证测试合格。

当您意外地对代码做了破坏旧测试的事情时,TDD将节省您的培根。例如,您意外地将按钮更改为链接。测试将失败,并提醒您注意问题。

票数 1
EN

Stack Overflow用户

发布于 2015-02-10 15:09:49

如果您使用的是真正的编程语言(您知道,使用编译器等等),那么当然,您必须编写类骨架或接口,否则您的测试甚至无法编译。

如果您使用的是脚本语言,那么您甚至不必编写框架或接口,因为您的测试脚本将愉快地开始运行,并将在它遇到的第一个不存在的类或方法上失败。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28434552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档