【发布时间】:2022-06-23 11:59:21
【问题描述】:
给定以下包含任务的方法。
-
self.interactor被嘲笑了。
func submitButtonPressed() {
Task {
await self.interactor?.fetchSections()
}
}
如何编写测试来验证 fetchSections() 是从该方法调用的?!
我的第一个想法是使用期望并等待它实现(在模拟代码中)。
但是新的 async/await 有什么更好的方法吗?
【问题讨论】:
-
我想说更大的问题是您正在尝试对视图控制器进行单元测试(我假设
submitButtonPressed是 VC 类的一部分,基于其名称)。 -
@Cristik 不一定。这很容易成为处理器中的意图。请注意,它不是动作或
@objc方法,因此不能是按钮的直接动作方法。 -
@matt 因此是我评论中的“我假设”部分。尽管如此,白盒测试主要用于算法,我认为通过查看微小的代码 sn-p,情况并非如此。也不能讨论灰盒测试,因为我们不知道单元和交互者之间的关系。