Не могу увидеть изменения в файле .java при запуске Junit с Eclipse до установки mvn - PullRequest
4 голосов
/ 14 января 2011

У меня есть мультимодульный проект Maven.Технологии, которые я использую - это Spring и Struts.Я создал тестовый пример и запустил его как:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:applicationContextSimpleTest.xml" })
public class CurrencySpeakerTest

Все нормально ... пока я не внесу некоторые изменения в исходный код ... Я не могу их увидеть, пока не запусту mvn install в родительском проекте.В чем дело?Я попытался посмотреть на конфигурацию отладки, но не могу найти место, где, как говорят, он смотрит на исходный код компиляции вместо .java файлов ... Я думаю, что это причина того, что junit запускает файлы .class вместо реальных... кто-нибудь имеет какие-либо идеи по этому поводу?


У меня есть 3 модуля приложения ... они построены с родительским модулем.Родительский модуль также является импортированным проектом в eclipse. Я делаю изменения в одном из трех модулей в тестовой папке.Я нажимаю кнопку «Обновить», и я делаю проект очистки / сборки eclipse вручную (если я включу автоматическую сборку, он ничего не изменит).Я запускаю тест как JUnit с диалоговым окном затмения.Eclipse, похоже, не видит изменений в отредактированном тестовом файле (.java).

Может быть, это как-то связано с одним основным проектом, который включает в себя другие модули?Что странно в том, что ... если я отредактирую любые другие классы, отсутствующие в папке с тестами, и запущу веб-приложение с плагином tomcat, Eclipse увидит изменения там?


Я использую mvn clean и mvn install, ноэто не проблема.Я использую Eclipse для запуска теста, но отладчик Eclipse не может увидеть изменения в коде ... например, если я добавляю куда-нибудь System.out.println () и ставлю точку останова, я запускаю тест, и Eclipse не останавливается на этом, потому что онвыглядит как-то по старому коду (я предполагаю, что файл .class) ... или, если я удаляю строку, редактирую некоторую строку ... ничего ... кажется, что она указывает на .class ... почему это так?Обновление и очистка / сборка проекта eclipse не работает.

Ответы [ 3 ]

2 голосов
/ 17 января 2011

Когда я удаляю цель из моего модуля, где я пишу тест, я получаю исключение ниже. Это подтверждает мою теорию, что Eclipse изучает скомпилированный код и не может видеть источник ...

Class not found pl.erif.utils.CurrencySpeakerTest java.lang.ClassNotFoundException: pl.erif.utils.CurrencySpeakerTest at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

0 голосов
/ 09 января 2019

У меня была такая же проблема.Это было из-за неисправного .classpath.При удалении этого .classpath и повторном импорте проекта создается правильный .classpath и исправляется среда.Чтобы узнать больше, убедитесь, что eclipse не генерирует файлы классов вашего тестового набора в неправильном каталоге.

Ref: Класс модульного теста запускает старую версию в eclipse

0 голосов
/ 14 января 2011

вам может понадобиться сначала запустить чистую

mvn clean compile

Редактируете ли вы java файлы вне eclipse?Если да, вам может понадобиться нажать f5, чтобы обновить его.(Обычно он должен обнаруживать изменения)

Если нет, используете ли вы автоматическую сборку в eclipse?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...