Огурец на groovy не может привести ноль к строке, когда ищет определение шага - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть несколько тестов на огурец с определениями шагов, написанными на groovy, и при его запуске возникает следующая ошибка:

groovy.lang.MissingMethodException: No signature of method: test.steps.StepDefs$_run_closure14.doCall() is applicable for argument types: (null, null, String, Integer, String) values: [null, null, qwer, 21, 1]
Possible solutions: doCall(java.lang.String, java.lang.String, java.lang.String, short, java.lang.String), findAll(), findAll()

Сценарий:

Scenario: justscenario
    Then ABC string qwer, short 21 version 1

Определение шага :

Then(~'^ABC(?: ([^\\s]*))?(?: for "(\\S+)")? string ([^\\s]*), short (\\d+) version ([^\\s]*)$')
    { String key, String user, String stringId, short shortId, String version -> ...

В этом случае мне не нужны первые два значения, поэтому я их опускаю.
Почему первые два nulls не были преобразованы в String? null можно привести к любой ссылке, не так ли?

Версия огурца - 4.8.0
Огурец - groovy - 4.7.1
Юнит - 4.12

1 Ответ

1 голос
/ 21 февраля 2020

Ошибка связана с использованием short в вызываемой функции.

... test.steps.StepDefs $ _run_closure14.doCall () применимо для типов аргументов: (null, null, String, Integer , String) значения: [null, null, qwer, 21, 1]

Возможные решения: doCall (java .lang.String, java .lang.String, java .lang.String, short , java .lang.String), findAll (), findAll ()

...