swift Xcode 单元测试:无法将“Person”类型的值转换为预期的参数类型“Person”

Jul*_* Ko 5 xcode unit-testing swift

我正在尝试编写一个单元测试类来测试我的自定义类。当我尝试使用自定义对象作为输入变量调用自定义类中的方法时,我得到:“无法将“Person”类型的值转换为预期的参数类型“Person”。“Person”是从 NSManagedObject 继承的类,输入对象是从那里创建的。我对采用其他值类型的其他方法没有问题。该方法工作正常。测试班是唯一抱怨这一点的班级。这是错误还是限制?有什么建议我可以深入研究这个问题吗?

Iva*_*eng 6

我之前遇到过这个问题。事实证明,被测系统(在我的例子中是调用对象的服务;对于您的示例,可能是 PersonService)没有测试项目的 Target 成员资格。我只是单击了 .swift 文件,并确保检查了主项目和测试项目。

希望这可以帮助!

  • 就我而言,问题在于所讨论的对象在框架和服务中都具有目标成员资格。但是,它只需要框架中的目标成员资格,因为服务导入了框架。 (3认同)