【问题标题】:Unit testing Grails controller单元测试 Grails 控制器
【发布时间】:2017-08-11 07:12:59
【问题描述】:

如何对这个函数进行单元测试

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]


  }

【问题讨论】:

    标签: unit-testing grails controller


    【解决方案1】:

    我建议只测试所有必需的服务方法调用,使用模拟 - 而不是这些调用的结果,否则您的测试取决于这些方法。这些服务方法应该有自己的测试。

    另外,测试view是否正确,model是否具备所有需要的属性。

    请参阅,Grails - Unit Testing Controllers

    Docs,将帮助您获得最新的viewmodel

    命令,grails create-unit-testgrails create-unit-test <your-controller-here>,将生成测试类供您开始使用。

    【讨论】:

      猜你喜欢
      • 2014-09-14
      • 1970-01-01
      • 2014-08-28
      • 1970-01-01
      • 1970-01-01
      • 2012-07-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多