【问题标题】:@testable import "projectName" isn't importing all files into test cases@testable import "projectName" 没有将所有文件导入测试用例
【发布时间】:2018-04-20 15:54:28
【问题描述】:

“@testable 导入”似乎并未导入原始项目中的所有文件。外部框架的文件作为单独的文件添加到原始项目中,除非为单元测试检查“目标成员资格”,否则测试用例似乎无法访问它们。这很奇怪,因为可以测试使用这些框架文件的单元测试中的其他功能,但不能直接测试框架文件本身。我认为这可能与此有关:

no-such-module-when-using-testable-in-xcode-unit-tests

但我尝试了该答案的解决方案(启用可测试性等),但我仍然无法访问要测试的文件,除非我明确选中目标成员资格框。关于如何让 @testable 导入包含这些文件的任何想法?

【问题讨论】:

  • 京东有没有找到解决办法?
  • 是的,看看答案。
  • 你能详细说明一下这个答案吗?我的问题是,即使使用 @testable 导入,项目类在测试用例中也不可用。
  • 你有没有针对他们的测试目标?
  • 我不想将它们添加到测试目标中,这就是我使用@testable import 语句的原因。

标签: ios swift unit-testing xctest


【解决方案1】:

找出问题所在,在框架中调用函数的类型别名,一旦我调用这些类型别名而不是 framework.functionName 它就可以正常工作。

【讨论】:

    【解决方案2】:

    如果您使用的是 cocoapods,请确保将测试所需的 pod 添加到您的 podfile 中的测试目标中。

    target "AppTests" do
      pod 'Pod', '~> 1.0'
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-31
      • 2016-05-09
      • 2020-05-29
      • 1970-01-01
      • 2018-07-25
      • 2021-05-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多