swift4

时间:2018-08-30 16:55:43

标签: ios swift xcode unit-testing core-data

如何在swift4中编写核心数据的单元测试用例?

我是编写单元测试用例的新手,为了理解核心数据单元测试用例,我提到了this link

但是在运行单元测试用例时,如果我以目标成员身份(在“ appDelegate”和“ ToDoStorgeManager”文件中)选择单元测试用例,则我正在运行单元测试用例,它显示错误,例如“将使用两个之一哪个是未定义的。”同时应用程序迷恋了。如果我未选择单元测试,则它可以按预期工作。

请查看“目标会员”部分中的以下图片,以使我的问题更加清楚。

当我为独立类编写单元测试用例时,我没有遇到上述问题。但是在核心数据中,我面临着目标成员资格中的单元格检查和取消检查的问题。

请帮助我了解上述情况。

enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

打开“目标成员资格”部分中的复选框时,还将此文件添加为单元测试目标的“编译源”:

ViewController的复选框已关闭

Check box for ViewController is off

ViewController的复选框已打开

Check box for ViewController is on

所有单元测试都具有目标依赖关系,因为它们的作用是从包含ViewController作为编译源的依赖关系中测试类。编译器不知道应该编译对此文件的引用(来自单元测试还是来自目标依赖项)。它被称为name collision

您可以直接从依赖关系目标访问类,而无需将一个添加到单元测试目标。