我已经创建了一个单元测试辅助函数,但是我没有看到如何访问函数内部类中的本地作用域输入参数:
我想在内部MockRentalsService类
中访问'error'func rentalsServiceWhichThrowsError(error: RentalError) -> Rentals {
class MockRentalsService: Rentals {
func rentalList(completionHandler:(rentalListResponse:RentalListResponse) -> Void ) -> RentalListCached {
completionHandler(rentalListResponse: RentalListResponse.Error(error))
return nil
}
}
let rentalsService = MockRentalsService()
return rentalsService
}
swift编译器根本不喜欢这个 - 只是给我一个Segmentation fault 11
答案 0 :(得分:0)
这就是我现在正在做的事情,这有点像kludge - 但它确实有效。
func rentalsServiceWhichThrowsError(error: RentalError) -> Rentals {
class MockRentalsService: Rentals {
var rentalError: RentalError!
func rentalList(completionHandler:(rentalListResponse:RentalListResponse) -> Void ) -> RentalListCached {
completionHandler(rentalListResponse: RentalListResponse.Error(rentalError))
return nil
}
}
let rentalsService = MockRentalsService()
rentalService.rentalError = error
return rentalsService
}