I have a simple ViewModel
with one property:
class ViewModel {
var name = Variable<String>("")
}
And I'm binding it to its UITextField
in my ViewController
:
class ViewController : UIViewController {
var viewModel : ViewModel!
@IBOutlet weak var nameField : UITextField!
private let disposeBag = DisposeBag()
override func viewDidLoad() {
super.viewDidLoad()
// Binding
nameField.rx.text
.orEmpty
.bind(to: viewModel.name)
.disposed(by: disposeBag)
}
}
Now, I want to Unit Test it.
I'm able to fill the nameField.text
property though Rx using .onNext
event - nameField.rx.text.onNext("My Name Here")
.
But the viewModel.name
isn't being filled. Why? How can I make this Rx behavior work in my XCTestCase?
Please see below the result of my last test run: