11

在我的应用程序开发的某个时刻,我的单元测试和 UI 测试无法访问我的应用程序的主模块:

在范围内找不到类型“FileVacuumViewController”

在范围内找不到类型“FileVacuumViewController”

他们之前使用过 xctestplan。我不知道它发生在什么时候。我尝试不导入@testable,包括tests.swift在主模块的“目标成员资格”中。

也许我需要打开工作区而不是 xcproject?当我尝试打开工作区时,出现错误消息,并且树中没有文件显示: 在此处输入图像描述


这是我的 xctestplan 配置:

xctestplan 配置

当我单击单独运行一个 UI 测试时,其中大约 20 个代码签名对话框显示:

代码符号弹出窗口

4

4 回答 4

20

看起来您的测试文件包含在您的应用程序目标和测试包中。确保从应用程序目标中取消选中它并尝试清理和构建。

于 2020-09-22T15:27:13.327 回答
2

我最近在关注有关创建单元测试的博客文章时使用 XCode 13 遇到了这个问题。出于某种原因,XCode 没有自动将 ViewController 添加到 Test 目标。

我的解决方案是确保 ViewController 包含在测试套件的 Target Membership 中。我还必须对 Main storyboard 进行相同的 Target Membership 更改。

XCode 的 Target Membership 部分中项目测试的选中复选框的屏幕截图,同时在 Files 窗格中选择了 View Controller

于 2021-10-25T14:52:12.443 回答
1

在 Project Navigator 中选择文件“FileVacuumViewController”,然后在 File Inspector 的 Target Membership 部分中,检查以 Tests 和 UITests 结尾的字段。如有必要,清理并构建项目。

于 2021-02-03T11:21:21.750 回答
0

升级到 Xcode 13 后,我自己也遇到了这个问题。

我的解决方案是从 XCTest 和 XCUITest 目标依赖项中删除该文件:

Project Settings -> <Target>Tests -> Build Phases -> select file and click "-"
Project Settings -> <Target>UITests -> Build Phases -> select file and click "-"

现在尝试运行您的测试并将@testable import <Target>出错的 XCTest 文件添加到顶部。注意:您根本不必将其添加到您的 UITests 文件中。

于 2021-11-23T16:31:51.623 回答