ios – 如何运行我的性能测试十次以上?

ios – 如何运行我的性能测试十次以上?,第1张

概述默认情况下,Xcodes性能测试运行十次,我的结果是这10次测试的平均值。问题是平均结果每次运行时差异很大,所以我必须运行测试至少五次以获得收敛结果。这是乏味和耗时的;有没有办法配置XCode或单元测试本身运行十次以上? XCTestCase的类转储公开了此方法: - (void)_recordValues:(id)arg1 forPerformanceMetricID:(id)arg2 name 默认情况下,Xcodes性能测试运行十次,我的结果是这10次测试的平均值。问题是平均结果每次运行时差异很大,所以我必须运行测试至少五次以获得收敛结果。这是乏味和耗时的;有没有办法配置XCode或单元测试本身运行十次以上?

解决方法 XCTestCase的类转储公开了此方法:

- (voID)_recordValues:(ID)arg1 forPerformanceMetricID:(ID)arg2 name:(ID)arg3 unitsOfMeasurement:(ID)arg4 baselinename:(ID)arg5 baselineAverage:(ID)arg6 maxPercentRegression:(ID)arg7 maxPercentrelativeStandardDeviation:(ID)arg8 maxRegression:(ID)arg9 maxStandardDeviation:(ID)arg10 file:(ID)arg11 line:(unsigned long long)arg12;

当该方法被旋转时,第一个参数(arg1)具有10个持续时间:

["0.003544568","0.003456569","0.003198263","0.003257955","0.003508724","0.003454298","0.003461192","0.00423787","0.003359195","0.003335757"]

我将这个列表的最后添加了4个新值(1.0,2.0,3.0,4.0),然后再传回原始的实现,但不幸的是,XCTestLog有一个不同的类,它有一个内部的完整性检查:

Assertion failure in +[XCTestLog _messageForTest:dIDMeasureValues:forPerformanceMetricID:name:unitsOfMeasurement:baselinename:baselineAverage:maxPercentRegression:maxPercentrelativeStandardDeviation:maxRegression:maxStandardDeviation:file:line:]caught "NSInternalinconsistencyException","Performance Metrics must provIDe 10 measurements."

一旦XCTestLog方法也被覆盖,所以它不断言,可以添加额外的4个值,而不会有任何投诉。不幸的是,该视图仍然只显示10个结果。

但是它确实在微型视图中更新总时间标准偏差值。

开车之前

经过Swizzling并添加4个值

为了查看超过10个结果,可能需要调整XCode运行时间来告诉表格来显示更多的项目。

总结

以上是内存溢出为你收集整理的ios – 如何运行我的性能测试十次以上?全部内容,希望文章能够帮你解决ios – 如何运行我的性能测试十次以上?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1072687.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存