我有一个单元测试,其中我想模拟服务的两种方法。我知道怎么做一次:
def caseHistoryMock = mockFor(CaseHistoryService)
caseHistoryMock.demand.getLatestCaseHistory(1..1) {String caseNumber, String productFamily -> return caseHistoryObj }
controller.caseHistoryService = caseHistoryMock.createMock()
我如何模拟caseHistoryService的另一种方法。在我的 Controller 中对方法的调用如下:
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 *
是可选的,它描述了应该多久调用一次函数。