如何在Swift中修补/模拟一个方法?

时间:2018-02-26 00:00:14

标签: swift unit-testing mocking swift4

我在Swift方面没有经验。

如果我有一段代码可以执行此操作:

if UserDefaults.standard.bool(forKey: Constants.isTermsAccepted) == false {
    openDisclaimer()
}

在Python中,我可以修补openDisclaimer()方法,用MagicMock替换它。一旦我运行测试,断言就会显示是否调用了MagicMock。我不关心那个方法里面发生了什么,只是它被调用或不被调用。

在Swift中是否可以这样?

更新

添加方法的实现

func openDisclaimer() {
        let popupVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "disclaimerPopUp") as! DisclaimerViewController
        self.addChildViewController(popupVC)
        popupVC.view.frame = self.view.frame
        self.view.addSubview(popupVC.view)
        popupVC.didMove(toParentViewController: self)
    }

0 个答案:

没有答案