什么是Xcode中的测试类?

时间:2016-09-16 02:23:24

标签: ios swift xcode unit-testing tdd

我来自不习惯或不熟悉“测试驱动开发”的IT教育背景和文化。长话短说,我在目前的工作中学习了Xcode的编程,经过几个月的压抑对每次创建新项目后不断出现的“测试”和“UI测试”文件的好奇心,我决定现在寻找它有时间。这就是我学习“测试驱动开发”这个词的地方。

但令人惊讶的是,那些想要学习关于测试驱动开发的基本概念的新手的文章很少,更不用说了解如何在Xcode中实现它。我能找到的文章都是高级材料,假设读者已经熟悉TDD。我在堆栈溢出中发现的唯一QA解释了关于TDD的基本知识是here,这还不够解释,因为它只解释了一个非常简短的内容,而不是如何解释。而且,它本身被标记为已经从堆栈溢出中删除的QA链接的副本。 Apple的own documentation about writing test classes也假设我已经熟悉这个概念。

有人可以提供一个关于TDD如何编写Xcode项目的一个非常简单的例子,特别是在Swift iOS中?比如,我的应用程序代码是什么,我的测试代码是什么,以及这两者是如何连接或相关的。我的意思是,我并不真正理解在测试类上编写测试代码如何帮助您“调试”主代码的概念。

因为从我对“测试”的解释中所想象的,测试代码必须“模拟”用户如何在UI上输入数据,尝试每种可能的输入组合等。而且,“测试”之间的区别是什么和“UI测试”?代码如何测试UI?哦,如果您想将此问题标记为“重复”,请同时提供重复所在位置的链接。感谢。

1 个答案:

答案 0 :(得分:1)

  

Test Driven Development,简称TDD,是一款简单的软件   开发实践,单元测试,小型集中测试用例,驱动器   发展前进。三者最容易解释这一点   TDD规则规定如下:

     

除非要制作,否则不允许您编写任何制作代码   失败的单元测试通过。你不能再写一个了   单元测试比失败足够;和编译失败   故障。您不能再编写任何生产代码   足以通过一个失败的单元测试。那意味着测试   案例是在任何生产代码之前编写的。并非所有测试都是   写在前面,而不是写一个小测试,然后是   编写了一小段生产代码,只允许进行测试   通过。这在许多小的迭代中重复:测试,失败,代码,   传递,测试,失败,代码,传递...

     

许多人认为TDD鼓励干净的代码,简单的架构   和一个实际可测试的稳定系统。另外,它也很有趣!   我们之前已经写过关于TDD的各个方面,但在此   教程我们将重点介绍它如何适用于您所在的XCode项目   为Mac和iPhone编写应用程序。我们将创建一个简单的XCode项目,   做一些特殊的配置步骤然后演示TDD如何   用于编写您的应用程序。我们将使用OCUnit及其框架   SenTestingKit,现在包含在Apple的XCode工具中。

Checkout this文章解释了XCode中测试驱动开发的工作原理。