我来自不习惯或不熟悉“测试驱动开发”的IT教育背景和文化。长话短说,我在目前的工作中学习了Xcode的编程,经过几个月的压抑对每次创建新项目后不断出现的“测试”和“UI测试”文件的好奇心,我决定现在寻找它有时间。这就是我学习“测试驱动开发”这个词的地方。
但令人惊讶的是,那些想要学习关于测试驱动开发的基本概念的新手的文章很少,更不用说了解如何在Xcode中实现它。我能找到的文章都是高级材料,假设读者已经熟悉TDD。我在堆栈溢出中发现的唯一QA解释了关于TDD的基本知识是here,这还不够解释,因为它只解释了一个非常简短的内容,而不是如何解释。而且,它本身被标记为已经从堆栈溢出中删除的QA链接的副本。 Apple的own documentation about writing test classes也假设我已经熟悉这个概念。
有人可以提供一个关于TDD如何编写Xcode项目的一个非常简单的例子,特别是在Swift iOS中?比如,我的应用程序代码是什么,我的测试代码是什么,以及这两者是如何连接或相关的。我的意思是,我并不真正理解在测试类上编写测试代码如何帮助您“调试”主代码的概念。
因为从我对“测试”的解释中所想象的,测试代码必须“模拟”用户如何在UI上输入数据,尝试每种可能的输入组合等。而且,“测试”之间的区别是什么和“UI测试”?代码如何测试UI?哦,如果您想将此问题标记为“重复”,请同时提供重复所在位置的链接。感谢。
答案 0 :(得分:1)
Test Driven Development,简称TDD,是一款简单的软件 开发实践,单元测试,小型集中测试用例,驱动器 发展前进。三者最容易解释这一点 TDD规则规定如下:
除非要制作,否则不允许您编写任何制作代码 失败的单元测试通过。你不能再写一个了 单元测试比失败足够;和编译失败 故障。您不能再编写任何生产代码 足以通过一个失败的单元测试。那意味着测试 案例是在任何生产代码之前编写的。并非所有测试都是 写在前面,而不是写一个小测试,然后是 编写了一小段生产代码,只允许进行测试 通过。这在许多小的迭代中重复:测试,失败,代码, 传递,测试,失败,代码,传递...
许多人认为TDD鼓励干净的代码,简单的架构 和一个实际可测试的稳定系统。另外,它也很有趣! 我们之前已经写过关于TDD的各个方面,但在此 教程我们将重点介绍它如何适用于您所在的XCode项目 为Mac和iPhone编写应用程序。我们将创建一个简单的XCode项目, 做一些特殊的配置步骤然后演示TDD如何 用于编写您的应用程序。我们将使用OCUnit及其框架 SenTestingKit,现在包含在Apple的XCode工具中。
Checkout this文章解释了XCode中测试驱动开发的工作原理。