如何使用 spock 在 grails 中模拟相同 class 的多个方法?
How to mock multiple methods of same class in grails using spock?
我有一个单元测试,我想在其中模拟服务的两种方法。我知道怎么做一次:
def caseHistoryMock = mockFor(CaseHistoryService)
caseHistoryMock.demand.getLatestCaseHistory(1..1) {String caseNumber, String productFamily -> return caseHistoryObj }
controller.caseHistoryService = caseHistoryMock.createMock()
如何模拟 caseHistoryService 的另一个方法。我的控制器中的方法调用如下:
def caseHistoryObj = caseHistoryService.getLatestCaseHistory(alert.caseNumber, alert.productFamily)
和
caseHistoryService.saveCaseHistory(caseHistoryMap)
*我正在使用 grails 2.5.1。
提前致谢,
抱歉
您可以使用 Mock
函数模拟它:
def caseHistoryMock = Mock(CaseHistoryService)
1 * caseHistoryMock.getLatestCaseHistory(_, _) >> caseHistoryObj
1 * caseHistoryMock.saveCaseHistory(_)
controller.caseHistoryService = caseHistoryMock
1 *
是可选的,它描述了函数调用的频率。
我有一个单元测试,我想在其中模拟服务的两种方法。我知道怎么做一次:
def caseHistoryMock = mockFor(CaseHistoryService)
caseHistoryMock.demand.getLatestCaseHistory(1..1) {String caseNumber, String productFamily -> return caseHistoryObj }
controller.caseHistoryService = caseHistoryMock.createMock()
如何模拟 caseHistoryService 的另一个方法。我的控制器中的方法调用如下:
def caseHistoryObj = caseHistoryService.getLatestCaseHistory(alert.caseNumber, alert.productFamily)
和
caseHistoryService.saveCaseHistory(caseHistoryMap)
*我正在使用 grails 2.5.1。 提前致谢, 抱歉
您可以使用 Mock
函数模拟它:
def caseHistoryMock = Mock(CaseHistoryService)
1 * caseHistoryMock.getLatestCaseHistory(_, _) >> caseHistoryObj
1 * caseHistoryMock.saveCaseHistory(_)
controller.caseHistoryService = caseHistoryMock
1 *
是可选的,它描述了函数调用的频率。