XCTAssertEqual 与 Optional(不是 Equatable)
XCTAssertEqual with Optional (not Equatable)
我想声明如下:
XCTAssertEqual(sut.dataSource?.delegate, userInterface, "Data source's delegate should be the user interface")
属性 dataSource
和 delegate
是可选的。我尝试用 let
赋值来解包它们,但它基本上归结为
Generic parameter 'T' cannot be bound to non-@objc protocol type 'FetchedResultsControllerDataSourceDelegate'
或
Type 'FetchedResultsControllerDataSourceDelegate?' does not conform to protocol 'Equatable'
我该怎么做才能断言可选关系已正确设置?
问题是 "equal" 比较值。 NSFetchedResultsControllerDataSourceDelegate
不符合 Equatable
因此无法比较其值。您应该将其标识与 with "identical to ===
" 运算符进行比较。
XCTAssertTrue(sut.dataSource?.delegate === userInterface, "Data source's delegate should be the user interface")
我想声明如下:
XCTAssertEqual(sut.dataSource?.delegate, userInterface, "Data source's delegate should be the user interface")
属性 dataSource
和 delegate
是可选的。我尝试用 let
赋值来解包它们,但它基本上归结为
Generic parameter 'T' cannot be bound to non-@objc protocol type 'FetchedResultsControllerDataSourceDelegate'
或
Type 'FetchedResultsControllerDataSourceDelegate?' does not conform to protocol 'Equatable'
我该怎么做才能断言可选关系已正确设置?
问题是 "equal" 比较值。 NSFetchedResultsControllerDataSourceDelegate
不符合 Equatable
因此无法比较其值。您应该将其标识与 with "identical to ===
" 运算符进行比较。
XCTAssertTrue(sut.dataSource?.delegate === userInterface, "Data source's delegate should be the user interface")