Apo*_*oad 29 unit-testing ios xctest xcode-ui-testing
是否可以从命令行界面从iOS应用测试目标运行单个测试用例或单个测试套件,而不是所有测试用例?
您可以使用xcodebuild从命令行运行测试,开箱即用.执行此操作时,将运行所选测试目标中包含的所有测试用例.
您也可以使用Fastlane 扫描,但我相信您只能运行您选择的构建方案的所有测试(如上所述),因此它与xcodebuild没有区别.
您可以使用xctool从Facebook 运行特定测试,但它不使用xcodebuild,并且仅限于在模拟器上运行,而不是实际的iOS测试设备.
我找到了直接运行xctest命令行实用程序的引用,但它似乎是一个未记录的功能,并以DerivedData为目标.UI测试将其*xctest文件放在一个单独的XCTRunner包中,这使事情变得复杂.
emo*_*ssi 78
现在可以使用Xcode 8.查看此视频:
https://developer.apple.com/videos/play/wwdc2016/409/
das*_*dom 20
您可以编辑方案以仅运行特定测试.选择方案,然后编辑方案.在出现的窗口中,选择测试阶段并禁用/启用单个测试.
您还可以添加方案来运行测试子集.从命令行运行测试时,您可以指定用于测试的方案(至少在fastlane中).
yoA*_*ex5 12
运行单独的测试
要运行单个测试用例,您可以使用 -only-testing
-only-testing
图案
-only-testing:<target>/<class_name>/<test_name>
Run Code Online (Sandbox Code Playgroud)
xcodebuild
图案
xcodebuild test
-workspace "<name>.xcworkspace"
-scheme "<name>"
-destination '<options>'
-only-testing "<test_case>"
Run Code Online (Sandbox Code Playgroud)
例子
//for example(several test cases)
xcodebuild test
-workspace "MyApp.xcworkspace"
-scheme "MyAppTest"
-destination 'platform=iOS Simulator,name=iPhone 11 Pro Max,OS=13.5'
-only-testing "MyAppTest/TestClass/foo"
-only-testing "MyAppTest/TestClass/foo2"
Run Code Online (Sandbox Code Playgroud)
例如,如果Test Navigator
看起来像
参数将具有以下类型
-only-testing:F49088168M_OBDIITests/HexUtilityTests/testHexToBinStringFormat
Run Code Online (Sandbox Code Playgroud)
如果你想添加一个额外的测试用例,你可以再添加一个-only-testing
您也可以使用以下方法跳过测试:-skip-testing
您可以在[关于] 中找到测试结果Derived Data
<derived_data>/<project_name>-dzqvyqfphypgrrdauxiyuhxkfxmg/Logs/Test/Test-<target_name>-<date>.xcresult
Run Code Online (Sandbox Code Playgroud)
小智 5
我和你的情况类似,并且构建了一个python脚本,触发了我想要的一组测试用例.它有点复杂的过程但对我有用,并且随着时间的推移在实现DataProvider方法,重新运行失败的测试用例和我需要的其他自定义方面非常有用.
您希望实现的一些相关步骤.
如果您需要更多信息添加评论我将回复它.
归档时间: |
|
查看次数: |
14909 次 |
最近记录: |