Параметризованная спецификация Spock не работает с CompileStatic

#java #unit-testing #groovy #spock

#java #модульное тестирование #groovy #spock

Вопрос:

предварительные требования: принять OpenJDK 11, Gradle 6.8.1, Groovy 3.0, Spock 2.0,

Во-первых, у меня есть зависимость исключений от внутреннего статического класса builder:

  #: [Static type checking] - Cannot find matching method java.lang.Object#withSomeMethod(int). Please check if the declared type is correct and if the method exists.
 

@ строка #, столбец #.
.withSomeMethod(1)

Затем я объявил переменные в спецификации класса. Но у меня есть исключения:

 SomeSpec.groovy: 12: where-blocks may only contain parameterizations
 

Как я могу интегрировать статическую компиляцию с тестами параметризации Spock?

Ответ №1:

Ответ от сообщества

@CompileStatic на самом деле не поддерживается для Spock, он работает в некоторых случаях, но не в других. В общем, я рекомендую не использовать ее для спецификаций. https://gitter.im/spockframework/spock?at=61aa07658f98cb0811a2cdb1