单元测试、模拟

问题描述 投票:0回答:0

有一个功能:

func Test(iRepo RepositoryInterface) {
    iRepo.Get()
    iRepo.Set()
}

在测试中,我将模拟作为参数传递给函数。该模拟缺少 MustBeCall() 方法(虚构名称),该方法将检查函数本身是否调用了 Get() 或 Set() 方法,如果没有,测试将失败。 如何做到当从Test()函数中去掉其中一个方法时,测试就失败了?

目前,我使用 NotBefore() 模拟方法,它允许我跟踪从函数代码中删除的所有方法,除了最后一个方法。我认为还有另一种方法可以控制函数的完整性。

unit-testing go mocking mockery
© www.soinside.com 2019 - 2024. All rights reserved.