我正在为应用程序编写单元测试,并想检查是否在特定场景中呈现了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 …)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。