XCTest:由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'参数'测试“不能为零”。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XCTest:由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'参数'测试“不能为零”。相关的知识,希望对你有一定的参考价值。

运行某些单元测试时,此错误不一致:

2018-12-20 09:11:34.892 MyApp [4530:106103] * void _XCTFailureHandler中的断言失败(XCTestCase * __强_Nonnull,BOOL,const char * _Nonnull,NSUInteger,NSString * __ strong _Nonnull,NSString * __ strong _Nullable,... )(),/ Library / People / com.apple.xbs / Sources / XCTest_Sim / XCTest-14460.20 / Sources / XCTestFramework / Core / XCTestAssertionsImpl.m:41 2018-12-20 09:11:34.929 MyApp [4530:106103] *由于未捕获的异常'NSInternalInconsistencyException'终止应用程序,原因:'参数'测试“不能为零。”

似乎有些断言是失败的,因为参数是nil,但我很难搞清楚哪一个。

环境:Xcode 10.1 ios应用程序

答案

在测试“完成”之后评估的XCTest断言将在断言失败时抛出此异常:

由于未捕获的异常'NSInternalInconsistencyException'终止应用程序,原因:'参数'测试“不能为零。”

证明这一点的基本例子是以下测试:

func testRaceCondition() {
    DispatchQueue.main.async {
        XCTAssertEqual(1 + 1, 3) // Assertion fails and 'nil' exception is thrown 

以上是关于XCTest:由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'参数'测试“不能为零”。的主要内容,如果未能解决你的问题,请参考以下文章

由于未捕获的异常“NSInvalidArgumentException”,我的 Xcode 应用程序在尝试实现 NSFetchedResultsController 后崩溃

由于未捕获的异常“NSRangeException”而导致应用程序终止

目标 C:由于未捕获的异常“NSInvalidArgumentException”而终止应用程序

由于未捕获的异常而终止应用程序 [UIImageView _isResizable]

由于未捕获的异常而终止应用程序,同时加载视图

由于未捕获的异常“NSInternalInconsistencyException”错误而终止应用程序