可以在 Xcode 模拟器中进行直接但独立的视图控制器 UI 测试吗?

Straightforward yet isolated view controller UI testing in Xcode Simulator possible?

是否可以 运行 UI 使用 Xcode 模拟器进行测试,例如,通过从 XCTestCase 手动启动视图控制器?我熟悉在 Swift 中通过 NSProcessInfo(或 ProcessInfo)为测试配置环境,但我有一个特定的情况,只显示一个视图控制器和 运行 上面的一系列手势...相对于在特定条件下导航到它。

虽然我可以创建另一个目标来执行此操作,然后 UI 对其进行测试,但我想知道是否有更简单的方法。

您不能在 XCTestCase Class 和 运行 UI对其进行测试。

您的 UITest 测试代码 运行 作为一个单独的进程,综合您的应用中 UI 响应的事件。换句话说,您在 UI 中编写的代码在与您测试的应用交互的测试运行器应用上测试 运行。 Test Runner 应用只能与主应用的 UI 元素交互。它无法直接访问主应用程序的代码或查看层次结构。所以你不能在测试期间添加 UIViewController

正如您在问题中已经提到的,您可以添加另一个目标,该目标仅显示您要测试的视图控制器。但这对我来说听起来不太实用。

或者(正如您还提到的)您可以在 UI 测试中设置 XUIApplication().launchArguments,并在设置启动参数后直接在应用程序启动时显示 ViewController。