我想在断言中做出以下结论:
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'
如何断言是否正确设置了可选关系?
答案 0 :(得分:3)
问题在于“等于”比较值。 NSFetchedResultsControllerDataSourceDelegate
不符合Equatable
,因此无法比较其值。您应该将其身份与“与===
”运算符相同。
XCTAssertTrue(sut.dataSource?.delegate === userInterface, "Data source's delegate should be the user interface")