是否可以在Xcode模拟器中进行简单而独立的视图控制器UI测试



是否可以使用Xcode Simulator运行UI测试,例如,通过从XCTestCase手动启动视图控制器?我熟悉在Swift中通过NSProcessInfo(或ProcessInfo(为测试配置环境,但我有一种情况,与在特定条件下导航到它相比,只显示一个视图控制器并在其上运行一系列手势会更容易。

虽然我可以创建另一个目标来实现这一点,然后进行UI测试,但我想知道是否有更简单的方法。

您不能手动初始化XCTestCase类中的UIViewController(或任何其他UIKit类(并在其上运行UITest。

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

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

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

最新更新