Тестирование класса @RooJavaBean в Eclipse IDE с помощью JUnit

Я использую Spring Roo для создания геттеров/сеттеров. Когда я обновляю тестируемый класс, а затем запускаю тесты JUnit из Eclipse IDE (STS), он не видит внесенных мной изменений. Например:

java.lang.NoSuchMethodError: com.example.web.forms.UserRegistrationForm_Roo_JavaBean.ajc$interMethodDispatch1$com_datefitting_web_forms_UserRegistrationForm_Roo_JavaBean$com_example_web_forms_UserRegistrationForm$setName(Lcom/datefitting/web/forms/UserRegistrationForm;Ljava/lang/String;)V`

После запуска roo>perform tests все работает нормально даже в IDE. В настройках проекта есть AspectJ builder.

Как запустить тесты JUnit для аннотированного класса @RooJavaBean в среде IDE, не вызывая mvn test или roo>perform tests?


person abele    schedule 13.02.2011    source источник


Ответы (1)


Открыта ли оболочка Roo в STS во время работы? Чтобы ваши аспекты воссоздавались на основе изменений целевых типов, в среде IDE должна быть запущена оболочка Roo. Если он запускается из командной строки (из-за пределов IDE), служба STS не будет уведомлена об изменениях, внесенных в аспекты, и не будет использована в вашем проекте.

person Andrew Eisenberg    schedule 14.02.2011
comment
Оболочка Roo открыта и работает в STS. IDE знает, что были внесены изменения (подсветка синтаксиса показывает, что метод существует). Проблема заключается в запуске тестов из IDE. Похоже, что этот класс не был перекомпилирован. - person abele; 15.02.2011
comment
Ммм.... интересно. Можете ли вы подтвердить, что если вы сделаете полную сборку своего проекта, вы сможете запускать тесты изнутри STS? - person Andrew Eisenberg; 15.02.2011
comment
Да, после вызова полной сборки (IDE›clean, mvn compile, roo›perform, сборка или тесты) я могу запускать тесты изнутри STS. - person abele; 15.02.2011
comment
Извините, я имел в виду, что все, что вы делаете, это запускаете Project -> Clean из Eclipse. Сделав только это, можете ли вы запускать тесты? - person Andrew Eisenberg; 16.02.2011
comment
Да (те методы, которые запускаются отдельно). - person abele; 16.02.2011
comment
Итак, это начинает выглядеть как какая-то ошибка. Я бы рекомендовал размещать сообщения на форуме Spring Roo здесь: forum.springsource.org/forumdisplay. php?f=67 Вероятно, они смогут выяснить, действительно ли это ошибка в Spring Roo, AspectJ или STS. - person Andrew Eisenberg; 16.02.2011
comment
ссылка Пересоздание проекта помогает. - person abele; 27.02.2011