从命令行运行iOS应用程序的单个XCTest(UI,Unit)testing用例
是否可以从命令行界面从iOS应用testing目标(而不是所有testing用例)运行单个testing用例或单个testing套件?
您可以使用xcodebuild从命令行运行testing,开箱即用。 当你这样做时,你运行你select的testing目标中包含的所有testing用例。
您也可以使用Fastlane进行扫描 ,尽pipe我相信您只能运行您select的构buildscheme的所有testing(如上所述),所以与xcodebuild没有区别。
您可以使用Facebook上的xctool运行特定的testing,但不使用xcodebuild,并且仅限于在模拟器上运行,而不是实际的iOStesting设备。
我发现直接运行xctest命令行实用程序的引用,但它似乎是一个未公开的function和目标DerivedData。 UItesting的这一事实很复杂, 它们的* xctest文件在一个单独的XCTRunner包中 。
现在可以使用XCode 8.检查video:
您可以编辑该scheme只运行特定的testing。 selectscheme,然后编辑scheme。 在出现的窗口中,selecttesting阶段并禁用/启用单个testing。
您也可以添加scheme来运行testing的子集。 从命令行运行testing时,可以指定用于testing的scheme(至less在fastlane中)。
我和你的情况相似,并且已经构build了一个python脚本来触发我想要的一组testing用例。 它有一点细致的过程,但为我工作,一直非常有用的实施DataProvider方法,重新运行失败的testing用例和我需要的其他自定义。
一些相关的步骤,你想实现什么。
- 重写XCTestCase中的testInvocations方法来执行以下步骤
- 在这个方法中,我读取环境variablesXXXX。
- 这个环境variables基本上是逗号分隔的testing用例方法名称。
- 现在为每个要触发的testing方法创buildNSInvocations。
- 返回Invocations数组。
- 如何传递环境variables?
- 在scheme中添加一个名为XXXX的环境variables。
- Scheme文件是标准的xml文件,编写一个脚本修改scheme文件以在环境variables中包含逗号分隔值。
如果您需要更多的信息添加评论,我会回复它。
要运行单独的testing或testing课程,您可以单击排水沟旁边的钻石。 如果您打开了行号,那么就在行号旁边。
在这个截图中,我的鼠标hover在钻石上。 注意它是如何变成一个小箭头表示它将被运行。
然后,您可以使用^?⌘G重新执行最近运行的testing。
据我所知这不能通过xcodebuild
完成。
- 如何在解除ViewController时将数据传递给另一个控制器?
- SecRandomCopyBytes有多好?
- iOS的UIScrollView / UITableView contentOffset重置pushViewControllerAnimated时:
- iOS为UIImageView获取图像的可见部分
- Swift通用类作为委托
- 为iFrameExtractor编译ffmpeg问题
- 将一个正在运行的countup显示计时器添加到一个iOS应用程序,如时钟秒表?
- 从cordova html页面(cordova)加载保存在iOS App Documents目录中的图像?
- 为什么视图的边框宽度是600,自动布局?