У меня есть определение контракта, вот его часть:
...
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
и т. Д.
Контрактный плагин, похоже, не видит класс ни в одном из этих мест.
Есть ли правильныйспособ поделиться каким-либо методом (или константой) между файлами контракта?
РЕДАКТИРОВАТЬ: это проект с одним модулем, и сделать его многомодульным просто ради решения этой проблемы нежелательно.