Mientras uso el marco de Karate para las pruebas de API, intento llamar a un método en un archivo de características de otro como este:
Scenario: Scenario description * def util = callonce read('UtilFunctions.feature') * def object = """ {"_yearsOffset":-20, "_daysOffset":0} """ * def customerAge = call util.getDate(object) * print customerAgeEl método simplemente devuelve una fecha con yearsOffset y daysOffset para mover la fecha si lo desea.
Cuando ejecuto esto tengo el siguiente error:
not a callable feature or js function: [type: STRING, value: 30.03.2002]Aunque el valor que se muestra en el registro es correcto y hace lo que se le pide a la función, la ejecución falla.
¿Alguna conjetura? Me estoy quedando sin ideas.
Aquí hay una suposición, no necesita usar call cuando simplemente invoca una función:
* def customerAge = util.getDate(object) La call hace que las cosas sean un poco más fáciles de leer solo si es una función.
* def fun = function(x){ return { foo: x } } * def customerAge = call fun 'bar' # this will also work # def customerAge = fun('bar')