iOS单元测试模拟手势

时间:2013-08-01 19:54:15

标签: ios unit-testing

我正在为iOS编写单元测试。有没有办法模拟像平移或缩放这样的手势?我想在视图上模拟这些手势,然后验证结果。

2 个答案:

答案 0 :(得分:0)

您应该使用自动化测试框架进行涉及视图,视图控制器和手势的测试。示例包括UIAutomationKIFCalabash

答案 1 :(得分:0)

您可以使用演示者模式,其中您有控制器的演示者,并且所有控制器都在接收手势,它要求演示者完成它必须完成的所有工作。然后你可以对演示者进行单元测试。

这是一个简单的示例,用于在按钮

上进行触摸的swift中的演示者

控制器:

Class myController: UiViewController, MyView {
    var presenter: MyPresenter!
    @IBAction func buttonPressed(sender: AnyObject) {
            presenter.buttonPressed()
    }
    override func viewDidLoad {
         super.viewDidLoad()
         self.presenter = MyPresenter(view: self) 
    }
}

主讲人:

Class MyPresenter {
    init(view: MyView) {
        self.myView = view
    }
    func buttonPressed() {
         //code to be tested
    }
}

协议:

protocol MyView {
    //methods for presenter to communicate with view controller
}