单元测试视图在 XCTestCase 中被驳回
Posted
技术标签:
【中文标题】单元测试视图在 XCTestCase 中被驳回【英文标题】:Unit Testing a view was dismissed in XCTestCase 【发布时间】:2019-10-07 14:10:19 【问题描述】:我有一个使用 VIPER
模式的应用。
我的LoginViewController
出现了,一些动作发生并且视图被关闭。
我想断言,当LoginPresenter
在我的LoginRouter
中调用dismissViewController
时,视图将被关闭。
我有一个涵盖此行为的 UITest
,但是我的 CI 管道中存在代码覆盖问题,UITest
不足以解决它。
我想断言代码中的行为。
import UIKit
final class LoginRouter
private var delegate: LoginRouterDelegate?
private let view: UIViewController
init(_ delegate: LoginRouterDelegate?, view: UIViewController)
self.delegate = delegate
self.view = view
extension LoginRouter: LoginRouterType
func dismissViewController()
view.dismiss(animated: false, completion: nil)
【问题讨论】:
【参考方案1】:使用ViewControllerPresentationSpy 中的DismissalVerifier
。在 README 描述中,向下滚动到“如何测试关闭模式?”
【讨论】:
以上是关于单元测试视图在 XCTestCase 中被驳回的主要内容,如果未能解决你的问题,请参考以下文章
单元测试用例:XCTestCase vs Sentestcase
为啥在同一个 XCTestCase 中的单元测试之间会有一个新的对象实例?