如何在现有ios测试项目中启用xcode 7 UI测试

如何在现有ios测试项目中启用xcode 7 UI测试,xcode,xctest,xcode-ui-testing,Xcode,Xctest,Xcode Ui Testing,在现有的ios应用程序和项目中,如何启用现有的测试目标和类来支持UI测试和录制UI测试按钮 我可以添加一个新的测试目标,如果我这样做,我会看到记录按钮,但是如果我想向现有的测试类和目标添加一些UI测试函数,该怎么办?UI测试在一个独立于普通单元测试用例的目标中,因此,您不能只是将UI测试添加到现有测试用例中。您应该使用新的UI测试目标来添加/执行UI测试,以实现干净的构建和维护目的。但是,假设您试图在单元测试类中调用XCUI*API,并使用单元测试目标启用UI录制,我会看到出现两个问题 如果您正

在现有的ios应用程序和项目中,如何启用现有的测试目标和类来支持UI测试和录制UI测试按钮


我可以添加一个新的测试目标,如果我这样做,我会看到记录按钮,但是如果我想向现有的测试类和目标添加一些UI测试函数,该怎么办?

UI测试在一个独立于普通单元测试用例的目标中,因此,您不能只是将UI测试添加到现有测试用例中。

您应该使用新的UI测试目标来添加/执行UI测试,以实现干净的构建和维护目的。但是,假设您试图在单元测试类中调用XCUI*API,并使用单元测试目标启用UI录制,我会看到出现两个问题

  • 如果您正在使用swift2进行单元测试,并使用
    @testable import{module}
    包含您的主要应用程序模块,那么当您从此测试用例调用XCUI*方法时,swift将抛出一个错误
  • 模块{Module}未编译以进行测试

    由于UI测试作为单独的进程运行,它无法加载应用程序代码依赖项

  • 由于XCUI*api依赖于Obj-C库,因此调用UI测试方法将期望您在单元测试目标中包含Objective-C桥接头文件。它不会出错,但会污染你的目标
  • 我还验证了您需要将测试用例文件添加到UI测试目标,以便启用UI测试录制按钮
  • 将UI测试作为单独的目标运行还有其他好处,例如,可以灵活地指定目标,以便仅从命令行工具运行单元测试或UI测试,并且易于维护UI测试执行的干净状态