ViewModel 有一个绑定到intap
事件的输入(观察者)。这个观察者的类型是。UIButton
UIViewController
AnyObserver<Void>
在我的单元测试中,这是我所期望的:
let correctValues: [Recorded<Event<Void>>] = Recorded.events(
.next(0, ()),
.completed(0)
)
我的测试观察者定义是:
private var voidEventsObserver: TestableObserver<Void>!
let scheduler = TestScheduler(initialClock: 0)
voidEventsObserver = scheduler.createObserver(Void.self)
断言声明:
XCTAssertEqual(voidEventsObserver.events, correctValues)
我收到以下错误:
表达式类型 '()' 在没有更多上下文的情况下是模棱两可的
在 Rx 中,Void
事件是正常的,要正确测试 ViewModel,需要比较它们。eg .next(0, ())
, .completed(0)
etc.Void
不是Equatable
,而且它没有意义Equatable
。但是,我需要断言事件是.next
or.error
还是.completed
。我如何断言那部分?