间歇性地无法在XCode 8中运行单元测试

间歇性地无法在XCode 8中运行单元测试,第1张

概述我升级到XCode 8,我有时候能够运行我的测试…例如,我只是测试了一些代码,并且能够连续运行我的测试3次…然后我第四次得到: dyld: could not load inserted library ‘PLATFORMS/iPhoneOS.platform/Developer/Library/PrivateFrameworks/IDEBundleInjection.framework/IDEB 我升级到XCode 8,我有时候能够运行我的测试…例如,我只是测试了一些代码,并且能够连续运行我的测试3次…然后我第四次得到:

dyld: Could not load inserted library ‘PLATFORMS/iPhoneOS.platform/Developer/library/PrivateFrameworks/IDEBundleInjection.framework/IDEBundleInjection’ because image not found

*** If you belIEve this error represents a BUG,please attach the log file at /Users/patrick/library/Developer/Xcode/DerivedData/MyApp-hjfppqmgxqrprucknvwtakynpqxs/Logs/Test/2B6C2EAE-5C13-40C9-BACE-3A00AA74F3EF/Session-UnitTests-2016-09-20_124123-gk3pW0.log

我重新启动了我的iOS设备,重新启动了我的计算机,删除了原始数据等…它将不再运行测试. ARRRGH !!!!

UPDATE

我应该提一下,我试图在我的iPad上运行测试,我无法在模拟器上运行测试,因为我有太多代码与NEON内在函数有关,所以模拟器不会运行.

但似乎有用的是,当这种情况发生时,切换到我的iPhone上构建测试,然后它在构建时,它只是说“运行测试”并且旋转器永远旋转,但没有测试实际运行…我可以实际上点击我的应用程序并与之交互,这通常不是我在运行测试时得到的行为……无论如何,我然后停止了构建,切换回我的iPad,现在再次运行测试.

解决方法 当我运行在测试代码中导致未捕获异常的测试代码时,我在iPad上运行的XCode 8.0(版本10.0.2(14A456))一致地得到此错误.可能还有其他示例,但只要受测试的代码在灾难性情况下失败,就会发生这种情况.

单元测试因异常而失败时,XCode无法正常恢复.

我相信这是XCode的一个问题;这个答案提供了一种解决方法.单元测试将在异常时失败,并且后续运行会产生“未找到图像”错误.

我发现最简单的恢复如下:

>将设备目标设置为通用iOS设备
>断开我的iPad
>重新启动iPad
>将所有东西重新连接起来

这是一个证明问题的示例故障;

请注意,此示例中的核心问题是我编写了一个错误的单元测试;我将一个nil参数传递给一个方法,该方法随后用于尝试将nil对象添加到字典中.

更新:为了准确起见,问题在于,当一个可变的字典被预期时,我将一个不可变的字典作为参数传递,从而产生“无法识别的选择器”错误.在任何情况下,异常都是导致XCode表现不佳的原因.

Assertions: Failed: caught "NSinvalidargumentexception","-[__NSDictionaryI setobject:forKey:]: unrecognized selector sent to instance 0x1818f200"(    0   CoreFoundation                      0x1dd89e1f <redacted> + 154    1   libobjc.A.dylib                     0x1cfef077 objc_exception_throw + 38    2   CoreFoundation                      0x1dd8f515 <redacted> + 0    3   CoreFoundation                      0x1dd8d589 <redacted> + 700    4   CoreFoundation                      0x1dcb2f08 _CF_forwarding_prep_0 + 24    5   tDefense                            0x000cd299 +[PlayingPIEce addplayingPIEce:atLocation:onBoard:] + 326    6   tDefense                            0x000cd5ad +[PlayingPIEce addNewPIEce:atLocation:onBoard:] + 154    7   tDefenseTests                       0x00410777 -[PlayFIEldTests testGetNeighbors] + 4594    8   CoreFoundation                      0x1dd8e864 <redacted> + 68    9   CoreFoundation                      0x1dcaf349 <redacted> + 294    10  XCTest                              0x00307de5 __24-[XCTestCase invokeTest]_block_invoke_2 + 472    11  XCTest                              0x0033b0dd -[XCTestContext performInScope:] + 312    12  XCTest                              0x00307c07 -[XCTestCase invokeTest] + 296    13  XCTest                              0x00308439 -[XCTestCase performTest:] + 560    14  XCTest                              0x0030578d -[XCTestSuite performTest:] + 520    15  XCTest                              0x0030578d -[XCTestSuite performTest:] + 520    16  XCTest                              0x0030578d -[XCTestSuite performTest:] + 520    17  XCTest                              0x002f1d55 __25-[XCTestDriver _runSuite]_block_invoke + 52    18  XCTest                              0x00312325 -[XCTestObservationCenter _observeTestExecutionForBlock:] + 628    19  XCTest                              0x002f1bed -[XCTestDriver _runSuite] + 512    20  XCTest                              0x002f29b7 -[XCTestDriver _checkForTestManager] + 300    21  XCTest                              0x0033c55b _XCTestMain + 690    22  CoreFoundation                      0x1dd45bc3 <redacted> + 10    23  CoreFoundation                      0x1dd455a7 <redacted> + 230    24  CoreFoundation                      0x1dd43a61 <redacted> + 752    25  CoreFoundation                      0x1dc93073 CFRunLoopRunspecific + 486    26  CoreFoundation                      0x1dc92e81 CFRunLoopRunInMode + 104    27  GraphiCSServices                    0x1f43bbfd GSEventRunModal + 156    28  UIKit                               0x22e34acf <redacted> + 574    29  UIKit                               0x22e2f201 UIApplicationMain + 150    30  tDefense                            0x000d690f main + 106    31  libdyld.dylib                       0x1d45e50b <redacted> + 2)  file: <unkNown>
总结

以上是内存溢出为你收集整理的间歇性地无法在XCode 8中运行单元测试全部内容,希望文章能够帮你解决间歇性地无法在XCode 8中运行单元测试所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存