Rob*_*egg 8 objective-c mvvm ios reactive-cocoa
我在当前的iOS应用程序中使用MVVM范例.最近,我也开始使用ReactiveCocoa该项目.我现在也开始尝试了Unit testing.
我面临的问题是如何正确测试RACSignal我创建的自定义.这是我正在测试的测试信号的示例.此信号与a一起使用UItextField,并将阻止不需要的字符输入textField.在这种情况下,我只允许数字:
//Declared like so:
-(RACSignal *)onlyAllowNumbersforTextFieldSignal:(RACSignal *)signal
//used like this:
RAC(testTextField, text) = [self.viewModel onlyAllowNumbersforTextFieldSignal:testTextField.rac_textSignal];
Run Code Online (Sandbox Code Playgroud)
现在,信号在viewModel和中完美地工作viewController- 我现在只想test case为这些信号创建一个.
您可以使用+[RACSignal return:]方法 来提供输入信号(而不是文本字段的信号)。然后使用-first方法从视图模型获取输出信号的值:
- (void)testExample {
RACSignal *textSignal = [RACSignal return:@"a123"];
//assuming that you initialized self.viewModel in setUp method of your test case
NSString *result = [[self.viewModel onlyAllowNumbersforTextFieldSignal:textSignal] first];
XCTAssertEqualObjects(result, @"123");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
317 次 |
| 最近记录: |