问题标签 [rxtest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - RxTest:架构 x86_64 和 arm64 的未定义符号
我正在尝试从第 16 章运行以下测试:使用 Raywenderlich RxSwift书的RxTest 进行测试:
但我在模拟器上得到这个错误:
架构 x86_64 的未定义符号:“RxCocoa.DriverSharingStrategy 的类型元数据”,引用自:TestingTests.TestingViewModel.testColorNameIsRayWenderlichGreenWhenHexStringIs006636() -> () in TestingViewModel.o“RxCocoa.DriverSharingStrategy 的协议见证表:RxCocoa 中的 RxCocoa.SharingStrategyProtocol”,引用来自:TestingTests.TestingViewModel.testColorNameIsRayWenderlichGreenWhenHexStringIs006636() -> () in TestingViewModel.o "RxCocoa.SharedSequence.asObservable() -> RxSwift.Observable",引用自:TestingTests.TestingViewModel.testColorNameIsRayWenderlichGreenWhenHexStringIs006636() -> () in TestingViewModel.o ld:未找到架构 x86_64 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
iPhone 6s 上的这个:
架构 arm64 的未定义符号:“RxCocoa.DriverSharingStrategy 的类型元数据”,引用自:TestingTests.TestingViewModel.testColorNameIsRayWenderlichGreenWhenHexStringIs006636() -> () in TestingViewModel.o“RxCocoa.DriverSharingStrategy 的协议见证表:RxCocoa 中的 RxCocoa.SharingStrategyProtocol”,引用来自:TestingTests.TestingViewModel.testColorNameIsRayWenderlichGreenWhenHexStringIs006636() -> () in TestingViewModel.o "RxCocoa.SharedSequence.asObservable() -> RxSwift.Observable",引用自:TestingTests.TestingViewModel.testColorNameIsRayWenderlichGreenWhenHexStringIs006636() -> () in TestingViewModel.o ld:未找到架构 arm64 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
swift - iOS RxSwift - 使用 RxTest 和 TestScheduler 进行测试不会结束/终止测试用例
我试图了解如何正确使用TestScheduler
from RxTest 4.2
for RxSwift 4.2
。
如何正确创建 TestScheduler 并传递事件,这些事件将在所有事件执行后终止调度程序?
下面的代码在启动测试调度程序时进入无限循环。因为它保持同步循环,所以我没有机会从测试中停止调度程序
我已将发布范围缩小到TestScheduler
. 订阅处置似乎有问题
ios - 如果 subscribeOn 背景,RxSwift TestScheduler 不起作用
我有模拟交互器和路由器,用于对演示者演示者方法进行单元测试:
并测试
结果是空的,
只有当我从 presenterMethod 中删除这些行时,此测试才能正常工作
我尝试使用 XCTestExpectation 并在 do(onNext:{}) 块中完成并获得相同的结果,仅在没有 subscribeOn 背景的情况下工作。方法在设备和模拟器上正常工作,presenterMethod 在开关上触发并发出正确的事件。应如何编写此测试以与 SubscribeOn 背景一起使用?
ios - 在 RxSwift 中测试 BehaviorSubject/Relay
我在测试 BehaviorRelay 时遇到问题。以下最小代码将 observable 绑定到 BehaviorRelay,但在测试时,测试不会结束并挂起 - observable 不断发出事件,因为它以Observable.timer
. 当摆脱该bindRx
方法并仅测试可观察对象时,它可以正常工作。但我想正确地测试课程——这有意义吗?
我该如何做这项工作?
mvvm - 测试 ViewState 的 PublishSubject
我正在尝试测试我的 ViewModel 的主要功能。重要的步骤是测试加载状态完成。但可以肯定的是,为了更好的测试,测试所有状态可能会很有趣。
我正在阅读很多关于 RxTest 和 RxBlocking 的帖子和信息,但我无法测试这个模块。如果有人可以帮助我,那就太好了!
目标是能够在调用 viewmodel.requestData() 之后测试所有 ProductsViewState
unit-testing - 在 RxSwift 中测试 ViewModel
我想在我的一个 ViewModel 中执行测试,其中包含一个名为“nearByCity”的 BehaviorRelay 对象,该对象绑定到名为“isNearBy”的 BehaviorRelay。这就是我的视图模型的样子。
我要执行的测试是实际验证当字符串被接受时,布尔值也会根据函数 setupBinders() 发生变化。
任何想法?
谢谢
swift - 触发一个事件并等待多个事件 RxTest
这是我第一次使用RxTest,我正在努力如何执行以下方法:
我在 viewModel 中创建了一个 Publish Subject 来通知视图何时应该显示加载器。
一切正常,除了我不知道如何使用 RxTest 框架对其进行测试。
我试图使用调度程序和冷可观察但无法使其工作。
我想拥有的:
- 使用调度程序将 .next(10, ()) 发送到触发器。
- 以某种方式记录 isLoading 的事件并断言先为真然后为假的相等。像这样:[.next(10, true), .next(20, false)]。
也许,我这样做的 isLoading 方式,它是不可测试的。但似乎它正在通过输出输出,我认为也许有某种方式。
非常感谢,如果有不清楚的地方,请随时编辑或指导我提出更好的问题。非常感激。
swift - 如何断言使用最新文本输入的可观察对象的输出
我的视图模型上有一个属性:
我想断言在设置isValid
有效输入时设置了正确的状态。
我的测试在下面通过,但这感觉不是测试这种情况的正确方法。
理想情况下,我想从我的字符串 as 开始""
,然后像输入它们一样传入值,这样我就可以断言默认状态已设置然后更改。
我还发现这些行:
有点“hacky”。
swift - 无法访问 xctest 中的 toBlocking()
我正在尝试编写测试用例并尝试访问返回单个对象的方法。为此,我想使用 toBlocking 但我无法访问它并收到以下错误:
“Single<[Property]>”(又名“PrimitiveSequence>”)类型的值没有成员“toBlocking”
以下是我的代码
已导入以下框架:
swift - `tearDown` 调用是必要的吗?
有事考虑我很久。假设我们已经编写了测试类:
是否tearDown
有必要要求清洁目的?
为什么我认为没有必要:
- 在每个下一个测试用例
setUp
重置一切之前。 - 当测试
BearerTokenManagerTests
结束时,一切都应该解除分配
为什么我不确定
- 假设“当测试
BearerTokenManagerTests
结束时,一切都应该解除分配”可能是错误的 - 我担心
RxScheduler
副作用 - 我还不知道的东西
有人可以分享他们的经验吗?你清理里面的东西tearDown
吗?重置属性是否setUp
足够?