Junit4 + Spring 2.5: выбрасывает утверждения "NoClassDefFoundError" - PullRequest
6 голосов
/ 28 марта 2009

Я тестировал кодирование в Junit4 с помощью Spring, и у меня получилось забавное поведение:

Если мои тесты проходят так, все в порядке:

@Test
public void truthTest(){

    assertTrue(true); //Ok

}

Но, если мой тест не пройден:

@Test
public void truthTest(){

    assertTrue(false); //ERROR

}

Тогда вместо теста я получаю уродливую и загадочную трассировку стека, вот и все:

http://pastie.org/429912

Извините за этот уродливый дамп, но это единственные данные, которые я получил, чтобы объяснить проблему (я "наклеил" его для удобства чтения)

Я действительно озадачен, кто-нибудь сталкивался с такой проблемой раньше? Заранее спасибо!

Ответы [ 3 ]

12 голосов
/ 28 марта 2009

http://jira.springframework.org/browse/SPR-5145

Это известная проблема с spring-test 2.5.x. Это несовместимо с JUnit 4.5. Используйте 4.0-4.4.

Или вы можете попробовать патч в трекере.

1 голос
/ 31 января 2012

У меня была такая же проблема, когда я писал свои тесты Spring JUnit. Как и многие сообщения, доступные в Интернете, есть только две альтернативы

1) Будьте в курсе версии Spring и используйте последнюю версию JUnit или же 2) Оставьте текущую версию Spring и используйте версию 4.4 JUnit или менее.

Я выбрал вариант №2, где мы оставили нашу версию Spring на 2.5 и загрузили JUnit 4.4. После этого все работало нормально.

Также следует помнить, что если ваш проект, то есть проект A, в котором вы пишете свои тесты, зависит от другого проекта B, в котором есть другая версия Spring, вы также получите похожую ошибку. Я научился этому нелегко.

-Prashanth

0 голосов
/ 28 марта 2009

Что, если вы импортировали исключение AssurationViolatedException в тестовый класс?

Похоже, он не может найти класс для выдачи соответствующего исключения.

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