我正在尝试运行以下测试第 16 章:使用 RxTest 进行测试 of Raywenderlich RxSwift https://store.raywenderlich.com/products/rxswift book:
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.testColorNameIsRayWenderlichGreenWhenHexStringIs006636() -> ()
“RxCocoa.DriverSharingStrategy 的协议见证表:RxCocoa 中的 RxCocoa.SharingStrategyProtocol”,引用自:
在TestingViewModel.o中TestingTests.TestingViewModel.testColorNameIsRayWenderlichGreenWhenHexStringIs006636() -> ()
“RxCocoa.SharedSequence.asObservable() -> RxSwift.Observable”,引用自:
在TestingViewModel.o中TestingTests.TestingViewModel.testColorNameIsRayWenderlichGreenWhenHexStringIs006636() -> ()
ld:未找到架构 x86_64 的符号
clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
iPhone 6s 上的这个:
架构arm64的未定义符号:
“RxCocoa.DriverSharingStrategy 的类型元数据”,引用自:
在TestingViewModel.o中TestingTests.TestingViewModel.testColorNameIsRayWenderlichGreenWhenHexStringIs006636() -> ()
“RxCocoa.DriverSharingStrategy 的协议见证表:RxCocoa 中的 RxCocoa.SharingStrategyProtocol”,引用自:
在TestingViewModel.o中TestingTests.TestingViewModel.testColorNameIsRayWenderlichGreenWhenHexStringIs006636() -> ()
“RxCocoa.SharedSequence.asObservable() -> RxSwift.Observable”,引用自:
在TestingViewModel.o中TestingTests.TestingViewModel.testColorNameIsRayWenderlichGreenWhenHexStringIs006636() -> ()
ld:未找到架构 arm64 的符号
clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
不幸的是,Raywenderlich 的论坛中没有对此问题的支持。 https://forums.raywenderlich.com/t/chapter-16-testing-with-rxtest/34926
经过大量搜索后,正如有人建议的那样here https://github.com/ReactiveX/RxSwift/issues/1583对于另一个类似的问题,我发现这个错误可以通过导入来解决RxCocoa
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)