有一个功能:
func Test(iRepo RepositoryInterface) {
iRepo.Get()
iRepo.Set()
}
在测试中,我将模拟作为参数传递给函数。该模拟缺少 MustBeCall() 方法(虚构名称),该方法将检查函数本身是否调用了 Get() 或 Set() 方法,如果没有,测试将失败。 如何做到当从Test()函数中去掉其中一个方法时,测试就失败了?
目前,我使用 NotBefore() 模拟方法,它允许我跟踪从函数代码中删除的所有方法,除了最后一个方法。我认为还有另一种方法可以控制函数的完整性。