У меня есть определение контракта, вот его часть:
...
queryParameters {
parameter('postcode': $(
client(ukPostcode()),
server('PH16 5RU')
)
...
поверх моего contract.groovy
у меня есть:
static String ukPostcode() {
return Pattern.compile("(?i)^[A-Za-z]{1,2}[0-9R][0-9A-Za-z]? ?[0-9][ABD-HJLNP-UW-Z]{2}\$(?-i)").pattern()
}
Это работало нормально, пока мне не понадобилось ukPostcode()
в другом файле контракта в том же проекте. Я пытался:
- создание чего-то вроде класса
CustomPatterns
со статическим методом вCustomPatterns.groovy
в той же папке, где находятся контракты, и его импорт - создание того же класса под
src/main/groovy
,src/main/java
,src/test/groovy
,src/main/groovy
и т. д.
Плагин контракта, похоже, не видит класс ни в одном из этих мест.
Есть ли правильный способ поделиться каким-либо методом (или константой) между файлами контракта?
РЕДАКТИРОВАТЬ: это проект с одним модулем, и делать его многомодульным только ради решения этой проблемы нежелательно.