Запуск тестов с использованием maven отображает проблемы с classpath - PullRequest
2 голосов
/ 14 сентября 2011

Я пытаюсь запустить некоторые модульные тесты в моем весеннем веб-приложении с помощью Maven.Приложение устанавливается и работает без тестов.

Я получаю эту ошибку в своем отчете о верном тестировании:

java.lang.NoClassDefFoundError: javax/servlet/ServletException

Сам тест выглядит так:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"file:C:/myProjects/myWebapp/src/main/webapp/WEB-INF/applicationContext-test.xml"})
@Transactional
public class MyTest {
...

Ранее я получал эту ошибку , однако я удалил любую ссылку на пакет безопасности из контекста тестового приложения.И получил эту последнюю ошибку.

Обе проблемы вызваны тем, что мой путь к классу установлен неправильно?Кажется, что maven зависимости не включаются при тестировании?Как я могу это изменить, или что еще мне не хватает?

1 Ответ

10 голосов
/ 14 сентября 2011

Попробуйте это.

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>test</scope>
</dependency>

Ваш контейнер сервлетов будет иметь это, но некоторые из ваших тестов должны в нем нуждаться. Возможно, вам придется настроить версию.

Область важна. Вы не хотите связывать эту банку с вашей войной, но вы хотите, чтобы она была доступна для ваших испытаний.

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