我有大约600个单元测试,我使用CMD + U或使用Fastlane中的扫描操作运行。似乎有些测试导致崩溃或类似情况,它们要么完全停止测试(在Xcode中运行时),要么重新启动并从下一个方法(在FastLane中运行时)重新启动,导致代码覆盖率大大低于应有的范围。
此外,测试看起来确实不一致,有时他们会通过,有时他们没有。
是否有任何有用的调试工具可以查看哪些测试可能会相互干扰,仍然异步运行或未正确清除系统状态?
Fastlane中的崩溃示例显示此错误,然后从下一个方法重新启动:
2017-08-24 11:03:23.648 xcodebuild [22051:407936] IDETestOperationsObserverDebug:编写诊断日志以进行测试 会议地址:[11:03:23]:▸ /Users/chris.merron/Library/Developer/Xcode/DerivedData/ND_360-foqmobymnlbonedpxdhsagbuefgm/Logs/Test/9C91A406-37AC-485B-B253-E30139A5B52B/Session-ND Vision Unit Tests-2017-08-24_110323-2GcUA5.log [11:03:23]:▸ 2017-08-24 11:03:23.648 xcodebuild [22051:385325] [MT] IDETestOperationsObserverDebug:(BFE781F0-C1D3-47AA-B386-7171B89DF4EA) 开始测试会议ND Vision Unit 测试-BFE781F0-C1D3-47AA-B386-7171B89DF4EA于2017-08-24 11:03:23.645 在目标上使用Xcode 8C1002 { [11:03:23]:▸SimDevice:SimDevice:iPhone 6 (F369E845-94F6-422E-8FE1-03363CD835FC):state = {Booted} deviceType = { SimDeviceType:com.apple.CoreSimulator.SimDeviceType.iPhone-6} runtime = {SimRuntime:10.2(14C89) - com.apple.CoreSimulator.SimRuntime.iOS-10-2} [11:03:23]:▸}(10.2 (14C89))
由于上述问题,我的代码覆盖率(通过XCov)为0%。
在禁用某些测试类后,我注意到崩溃似乎只发生在某个类之后。也许在其他测试运行之前可能会有一些东西没有完成......