【问题标题】:unit test cases for Core Data in swift4swift4中Core Data的单元测试用例
【发布时间】:2018-08-30 16:55:42
【问题描述】:

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

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

但是在运行单元测试用例时,如果我在目标成员中选择单元测试用例(在“appDelegate”和“ToDoStorgeManager”文件中),那么我正在运行单元测试用例,它会显示错误,例如“将使用两者之一. 哪一个是未定义的。同时应用程序被迷住了。如果我取消选择单元测试,那么它的工作正常,正如我们预期的那样。

请查看“目标会员”部分的以下图片,以了解我的问题。

当我为独立类编写单元测试用例时,我没有遇到上述问题。但在核心数据中,我遇到了在 Target Membership 中检查和取消检查单元用例的问题。

请帮助我理解上述情况。

【问题讨论】:

  • 我不确定您的问题是什么?是单元测试还是核心数据是问题所在,您能否分享给您带来问题的代码。另外,如果您是编写单元测试的新手,那么为什么要从 Core Data 开始,而不是为某些独立的类/结构编写测试
  • 我了解如何为独立的类和结构编写单元测试用例,但与我尝试为核心数据编写单元测试用例的方式相同,在这里我得到了我提到的上述场景。跨度>
  • 好的,我明白了,但您仍然需要澄清您的问题,正如我在评论的第一部分中提到的,
  • 我已经编辑了我的问题,请再次查看我的问题以明确问题。

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


【解决方案1】:

当您打开 Target Membership 部分中的复选框时,您还会将此文件添加为单元测试目标的编译源:

ViewController 复选框已关闭

ViewController 复选框已打开

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

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

【讨论】:

    猜你喜欢
    • 2012-03-02
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2012-08-11
    • 2017-04-06
    • 1970-01-01
    相关资源
    最近更新 更多