代码之家  ›  专栏  ›  技术社区  ›  Drux

无法在Objective-C单元测试中使用Swift类

  •  14
  • Drux  · 技术社区  · 10 年前

    我已经跟踪了 this 配方,以便在现有Objective-C项目中使用Swift类 MyProject 。很好。

    然而,我仍然无法在同一项目的单元测试中使用同一个Swift类。编译器标记了Objective-C单元测试的行 #import "MyProjectTests-Swift.h" 具有 file not found .

    如果尝试更改测试目标 Product Module Name 从其默认值 MyProjectTests 我的项目 正如在对 this (未回答的)问题。然而,编译器现在标记了Objective-C单元测试的行 #import "MyProject-Swift.h" 具有 找不到文件 .

    那么,如何将Swift类集成到用Objective-C编写的(XCTest)单元测试中呢?苹果公司提供任何配方吗?

    3 回复  |  直到 8 年前
        1
  •  17
  •   Community CDub    8 年前

    根据@SushiGrassJacob的评论(参见 here )以下解决了该问题:

    1. 确保Swift类的目标是 MyProject MyProjectTest .
    2. 在单元测试中,#import“MyProjectTestsSwift.h”。
        2
  •  10
  •   Harry Zhang    7 年前

    步骤-1

    转到测试目标>生成设置>标题搜索路径,并添加 $CONFIGURATION_TEMP_DIR/YourProject.build/DerivedSources 在其中。

    步骤-2

    #import "YourProject-Swift.h"

        3
  •  0
  •   nemissm    7 年前

    转到测试目标>生成设置>标题搜索路径,并在其中添加$CONFIGURATION_TEMP_DIR/MyProject.build/DerivedSources。对于我来说,只在没有检查针对MyProjectTests的Swift类的情况下工作。资料来源: https://medium.com/if-let-swift-programming/ios-tests-working-with-objective-c-and-swift-class-together-aaf40f91a27c