如何使用Xcode Unit Test测试没有参数的void类方法

时间:2017-08-04 08:54:54

标签: xcode unit-testing xctest

我有一个没有参数的void方法的类,想知道这种方法是否可以通过单元测试来测试?如果是,那么应该测试什么?

上下文:

我有一个viewcontroller,想要一个带有取消按钮的动作表。

class LoginVC: UIViewController {
    func showLoginError() {
            let alertController: UIAlertController = UIAlertController.init(title: "Erreur", message: "Nous ne sommes pas parvenu à vous connecter, vérifiez vos informations.", preferredStyle: .alert)
            let closeAction = UIAlertAction.init(title: "Ok", style: .cancel, handler: { (action) in
                self.userAddressField.becomeFirstResponder()
            })
            alertController.addAction(closeAction)
            self.present(alertController, animated: true, completion: nil)
        }
}

1 个答案:

答案 0 :(得分:0)

您可以测试导致可观察行为或对您可以控制的对象具有效果的任何内容。

换句话说:很可能,void方法的目的是在对象/数据存储/中更改相同的 state ......所以在这个意义上,你可以:

  • 只需在调用方法
  • 之前/之后检查相应的状态
  • 使用一些模拟框架来确保对测试中的代码进行模拟的预期调用确实发生了

理想情况下,您更喜欢第一类测试。有关更多见解,请参阅herethere。不同的语言,但提供普遍适用的理论背景。