我有一个UIImageView,它位于导航栏的左侧。如何在XCTestCase中点击imageView?

最佳答案

根据你的评论,假设你有一个UIBarButtonItem和一个UIImage,并且你已经定义了一些@IBAction,当你点击UIBarButtonItem时,你可以用这种方式在UIBarButtonItem中模拟一个点击:

@IBOutlet weak var barButtonItem: UIBarButtonItem!

override func viewDidLoad() {
    super.viewDidLoad()

    // Send the the action to invoke the target specified when you make your @IBAction or define a target manually.
    UIApplication.sharedApplication().sendAction(barButtonItem.action, to: barButtonItem.target, from: nil, forEvent: nil)
}

// @IBAction defined using Interface Builder
@IBAction func buttonTapped(sender: AnyObject) {
    print("Tapped")
}

在上面的代码中,当加载UIViewController时,您将在控制台中看到输出"Tapped"。当初始化要测试的UIViewController时,可以将相同的逻辑转换为单元测试。
一旦你定义了一个UIBarBUttonItem你就不必定义一个UITapGestureRecognizer来让它里面的UIImage知道什么时候被点击。
我希望这对你有帮助。

关于ios - 如何在单元测试中点击UIImageView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37306754/

10-14 22:41