una sismo simulacros simulacro realizar realización procedimiento primeros plan pasos para informe evacuacion escuela emergencia como auxilios mocking spock

mocking - simulacros - plan de simulacro de sismo



¿Hay alguna manera de hacer simulacros de captura de argumento en Spock (1)

Puede capturar un argumento de la siguiente manera:

// must be declared before when-block (or inside Specification.interaction {}) def captured when: ... then: 1 * mock.doNetworkCall(...) >> { record, recordClass -> // save the argument captured = record ... } // use the saved argument captured == ...

Dicho esto, a menudo hay una solución más simple, como verificar el registro esperado a la derecha en la restricción del argumento (por ejemplo, ...doNetworkCall( { it == ... } ) ).

He mirado a mi alrededor y he intentado cosas diferentes en vano. Los ejemplos que hay en las redes son pocos y, en mi opinión, bastante simples. Mi caso de uso:

(el ''itocNetworkHandler'' a continuación es el simulacro)

when: "we''re doing stuff" StandardResponse response = cms.doCardStuff("123", "111", order) .... then: "we get proper calls and response object" 1 * cms.itocNetworkHandler.doNetworkCall( { it instanceof ReplacementRequestRecord }, StandardResponseRecord.class) >> record

Me gustaría almacenar el parámetro (''it'') en el "doNetworkCall" en el simulacro.

La razón por la que quiero el parámetro es porque el objeto que estoy probando debe tomar mis parámetros, hacer cosas, crear un nuevo objeto y pasarlo a mi simulacro. Quiero asegurarme de que el objeto creado se vea como se supone.

Punteros muy apreciados.