2017-08-11 197 views
0

如何瓶坯單元測試這個功能單元測試的Grails控制器

private void secondaryRepError(def secRepCmd) { 

    def repProfile = springSecurityService?.currentUser?.representativeProfile 
    def productTypes = representativeManagementService.getAssignedProductTypes(repProfile) 
    def facilities = representativeManagementService.getAssignedFacilities(repProfile) 
    def facilityType = representativeManagementService.getFacilityType() 
    def listOfRetail = representativeManagementService.listOfFacilities(facilities?.toList(), facilityType?.retail) 
    def listOfLpg  = representativeManagementService.listOfFacilities(facilities?.toList(), facilityType?.lpg) 
    def listOfPipeline = representativeManagementService.listOfFacilities(facilities?.toList(), facilityType?.pipeline) 
    def listOfRelated = representativeManagementService.listOfFacilities(facilities?.toList(), facilityType?.related) 
    render view:'addSecondaryRep', model: [secondaryRepInstance: secRepCmd, appType: ApplicationType.getAll(), productTypes: productTypes, facilities: facilities, retailFacility: facilityType?.retail, lpgFacility: facilityType?.lpg, pipelineFacility: facilityType?.pipeline, facFacility: facilityType?.related, listOfRetail: listOfRetail, listOfLpg: listOfLpg, listOfPipeline: listOfPipeline, listOfRelated:listOfRelated] 


    } 

回答

1

我會建議只是測試所需的所有服務方法調用,利用模擬考試 - 這些調用的不是結果,否則你的測試依賴於那些方法。這些服務方法應該有自己的測試。

而且,測試view是否正確,並且model具有所有必需的屬性。

參照,Grails - Unit Testing Controllers

Docs,將幫助您獲取當前viewmodel

命令,grails create-unit-test,grails create-unit-test <your-controller-here>,將生成測試類,供您開始使用。