Можно ли использовать классы Groovy в качестве приспособлений FitNesse? - PullRequest
0 голосов
/ 13 апреля 2020

Я изучаю инфраструктуру FitNesse и задаюсь вопросом, можно ли написать код прибора в Groovy. Поэтому я сделал копию примера Таблица решений , переименовал исходный класс в ShouldIBuyMilkJava и создал класс Groovy с той же функциональностью. Итак, мои настройки выглядят так:

тестовая страница вики (строки таблицы для краткости опущены):

|should I buy milk Java                                         |
|cash in wallet|credit card|pints of milk remaining|go to store?|
|0             |no         |0                      |no          |
|10            |no         |0                      |yes         |

|should I buy milk Groovy                                       |
|cash in wallet|credit card|pints of milk remaining|go to store?|
|0             |no         |0                      |no          |
|10            |no         |0                      |yes         |

ShouldIBuyMilk Java. java :

То же, что и здесь , за исключением того, что класс переименован в ShouldIBuyMilkJava

ShouldIBuyMilk Groovy. groovy :

class ShouldIBuyMilkGroovy {
    def dollars
    def pints
    boolean creditCard

    ShouldIBuyMilkGroovy() {

    }

    // the rest is omitted for brevity

Оба класса успешно скомпилированы и расположены в папке, которая импортируется как путь к классам на тестовой странице. Первый тест проходит успешно, но для второго я получаю исключение Could not invoke constructor for ShouldIBuyMilkGroovy[0].

Я пытался удалить пустой конструктор без аргументов из класса Groovy - тот же результат.

Как я могу заставить Groovy классы работать как приспособления FitNesse?

1 Ответ

0 голосов
/ 14 апреля 2020

Итак, исправить это просто - мне пришлось включить директиву !path, указывающую на библиотеку groovy, на страницу FitNesse root, а не на тестовую страницу.

...