Unit testing junit.framework.AssertionFailedError:不再调用'获取系统状态'在这一点上是意料之中的。需求结束

Unit testing junit.framework.AssertionFailedError:不再调用'获取系统状态'在这一点上是意料之中的。需求结束,unit-testing,grails,mocking,Unit Testing,Grails,Mocking,PFB我的控制器、控制器测试和维修代码。我收到以下失败错误:junit.framework.AssertionFailedError:不再调用'获取系统状态'在这一点上是意料之中的。需求结束 控制器: 控制器测试: 服务: 请确保调用getSystemStatus的次数不超过100次。我肯定不会超过100次 def status() { int statusCode = muleService.getSystemStatus(muleService.getMuleTo

PFB我的控制器、控制器测试和维修代码。我收到以下失败错误:junit.framework.AssertionFailedError:不再调用'获取系统状态'在这一点上是意料之中的。需求结束

控制器:

控制器测试:

服务:


请确保调用getSystemStatus的次数不超过100次。我肯定不会超过100次
def status() {
    int statusCode = muleService.getSystemStatus(muleService.getMuleToken())

    if (statusCode == 200) {
        redirect(action: 'create')
    }
}
void setUp(){
    def mockControl = mockFor(MuleService)
    //params are the parameters passed to the service method
    mockControl.demand.getSystemStatus(0..100) { params ->
        statusCode = "200"
        return "200"
    }

    mockControl.demand.getMuleToken(0..10) { params->
        response = "dF90aW1lMDE6VGVzdDEyMw"
        return "dF90aW1lMDE6VGVzdDEyMw"
    }

    controller.muleService = mockControl.createMock()
}

void testStatus_statusCode200() {

    when:
    controller.status()

    then:
    response.redirectedUrl == '/trip-entry/create'
}
String getMuleToken() {
    return WebUtils.retrieveGrailsWebRequest().getSession().getAttribute("muleToken")?.toString()
}

int getSystemStatus(String authHash) {
    try {
        String url = grailsApplication.config.trip.mule.url.gatewayStatus
        def http = new HTTPBuilder(url)

        getHttpContext(http, authHash)

        http.request(Method.GET) {
            response.success = { resp ->
                return resp.statusLine.statusCode

                println resp.statusLine.statusCode
            }

            response.failure = { resp ->
                return resp.statusLine.statusCode

                println resp.statusLine.statusCode
            }
            // println resp.statusLine.statusCode
        }
    } catch (Exception e) {
        return 500
    }
}