Slide 72
Slide 72 text
CONFIDENCIAL
final class BlockHistoryTests: XCTestCase {
func testChangedUiState() throws {
let testTarget = dependency.testTarget
let presenter = dependency.presenter
let exepect1 = try expect(testTarget.$uiState.collect(2).first()) {
presenter.changeState(state: .init(blockedRoom: [], isLoading: true, networkError: nil))
}
XCTAssertEqual(exepect1.map(\.isLoading), [false, true])
}
struct Dependency {
let testTarget: BlockHistorySwiftUiViewModel
let presenter: MockPresenter
init() {
self.presenter = .init(.init(blockedRoom: [], isLoading: false, networkError: nil))
self.testTarget = .init(presenter: presenter)
}
}
}
手順4 Testの書き方