我正在尝试运行以下测试
第16章:Rxtest测试
属于
Raywenderlich RxSwift
书:
import XCTest
import RxSwift
import RxTest
@testable import Testing
class TestingViewModel : XCTestCase {
var viewModel: ViewModel!
var scheduler: ConcurrentDispatchQueueScheduler!
override func setUp() {
super.setUp()
viewModel = ViewModel()
scheduler = ConcurrentDispatchQueueScheduler(qos: .default)
}
func testColorNameIsRayWenderlichGreenWhenHexStringIs006636() {
// 1
let colorNameObservable = viewModel.colorName.asObservable().subscribeOn(scheduler)
// 2
viewModel.hexString.value = "#006636"
// 3
XCTAssertEqual("rayWenderlichGreen", try! colorNameObservable.toBlocking().first()!)
}
}
但我在模拟器上得到这个错误:
架构x86_64的未定义符号:
“rxcocoa.driversharingstrategy的类型元数据”,引用自:
testingViewModel.o中的testingtests.testingViewModel.testcolornameisrayWenderLichgreenwhenhexStringS006636()->()。
“RxCoCo.DriversSharingStrategy的协议见证表:RxCoCo.SharingStrategyProtocol in RxCoCo”,引用自:
testingViewModel.o中的testingtests.testingViewModel.testcolornameisrayWenderLichgreenwhenhexStringS006636()->()。
“rxcocoa.sharedsequence.asobservable()->rxswift.observable”,引用自:
testingViewModel.o中的testingtests.testingViewModel.testcolornameisrayWenderLichgreenwhenhexStringS006636()->()。
ld:找不到架构x86 U 64的符号
clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
iPhone6s上的这个:
架构ARM64的未定义符号:
“rxcocoa.driversharingstrategy的类型元数据”,引用自:
testingViewModel.o中的testingtests.testingViewModel.testcolornameisrayWenderLichgreenwhenhexStringS006636()->()。
“RxCoCo.DriversSharingStrategy的协议见证表:RxCoCo.SharingStrategyProtocol in RxCoCo”,引用自:
testingViewModel.o中的testingtests.testingViewModel.testcolornameisrayWenderLichgreenwhenhexStringS006636()->()。
“rxcocoa.sharedsequence.asobservable()->rxswift.observable”,引用自:
testingViewModel.o中的testingtests.testingViewModel.testcolornameisrayWenderLichgreenwhenhexStringS006636()->()。
ld:找不到体系结构ARM64的符号
clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
Unfortunately, there is no support for this issue in Raywenderlich's forums.