ios – 检查UIAlertController是否在XCTest案例中呈现

前端之家收集整理的这篇文章主要介绍了ios – 检查UIAlertController是否在XCTest案例中呈现前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在为应用程序编写单元测试,并想检查是否在特定场景中呈现了UIAlertController.
-(void)testBadLogin {
    // enter username and password in UITextFields
    self.viewController.usernameField.text = @"test@test.com";
    self.viewController.passwordField.text = @"incorrect_pass";
    [loginButton sendActionsForControlEvents: UIControlEventTouchUpInside];

    // this isn't right
    XCTAssertNotNil([self.viewController alertController],@"alertController should appear"); 
}

如何检查UIAlertController是否已显示在当前视图之上?

解决方法

“XCTest并不意味着用于测试UI组件.”不是真的准确.我正在使用XCTest进行几乎所有的UI测试,它运行得很好.正确答案应为“嘲弄”.

我会使用OCMock来模拟测试的视图控制器并“验证”使用警报控制器调用方法presentViewController …这是一个简洁的解决方案,工作得很好. (你甚至可以忽略警报控制器传递给这个方法,只测试视图控制器已经传递方法presentViewController …)

猜你在找的iOS相关文章