Как написать тестируемый и полный код покрытия кода
Здесь я добавляю свой простой код для тестирования модульного тестирования.
Я добавил контрольные примеры для проверки кода ViewModel для проверки простого кода.
Здесь я мог видеть покрытие кода не сделано полностью.
Как сделать покрытие кода полным для ViewController и LoginViewModel?
LoginViewModel.swift
class LoginViewModel {
func login(userName: String, password: String) -> Bool {
if userName.characters.count > 0 && password.characters.count > 0 {
return true
}
return false
}
}
ViewController.swift
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var textFieldName : UITextField!
@IBOutlet weak var textFieldPassword : UITextField!
@IBOutlet weak var submitButton : UIButton!
let loginModel = LoginViewModel()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func submitAction(sender: UIButton) {
let isValidLogin = loginModel.login(userName: (self.textFieldName?.text)!, password: (self.textFieldPassword?.text)!)
assert(isValidLogin == true, "Login failed ")
}
}
Скриншот покрытия LoginViewModel Скриншот
Скриншот покрытия ViewController.swift Скриншот
Как сделать так, чтобы ViewController отправлял действие и LoginViewModel полностью покрывал код?