powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Junit + Spring
14 сообщений из 14, страница 1 из 1
Junit + Spring
    #37618559
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как правильно тестировать спринг приложения? Часто сталкиваюсь с проблемой когда ресурсы не видны из "test" контекста. Заводить еще один "test" конфиг как-то не кошерно. Как вы тестируете спринговые приложения?
...
Рейтинг: 0 / 0
Junit + Spring
    #37618580
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начните с того, что вбейте в гугле "Spring jUnit". Это выдаст вам достаточно информации, что бы понять, как тестировать спринговые приложения.
...
Рейтинг: 0 / 0
Junit + Spring
    #37618605
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenom,

если вас не затруднит подкинте ссылку на пример теста, наверно будет понятнее на примере:

В конфиге инициализируется сервис:
...
<sws:xsd location="/WEB-INF/fundList.xsd"/>
...

Если инициализировать контекст спринга из папки "test" то он отругается на то что такой папки нет.
Как быть в такой ситуации?
...
Рейтинг: 0 / 0
Junit + Spring
    #37618632
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну раз вы ленитесь, вот вам ссылка - http://static.springsource.org/spring/docs/2.5.x/reference/testing.html
Там все объяснено. Никакие дополнительные контексты не нужны.
...
Рейтинг: 0 / 0
Junit + Spring
    #37618644
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenom,

Я в общем от туда и пришел с вопросом... ладно, посмотрю еще раз...
...
Рейтинг: 0 / 0
Junit + Spring
    #37618689
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenomТам все объяснено. Никакие дополнительные контексты не нужны.
Где там?

Еще раз о моей ситуации. Если скопировать папку WEB-INF в папку test/resources спринговый контекст нормально создается и тест запускается.
Как при инициализации спринг контекста из JUnit теста указать что пути в конфиге относительно папки main/java а не test/java?
...
Рейтинг: 0 / 0
Junit + Spring
    #37618714
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну смотрите, main и test лежат в одной директории. Следвательно, вам надо подняться на один уровень вверх, а потом провалиться в main:
<sws:xsd location="../main/WEB-INF/fundList.xsd"/>
...
Рейтинг: 0 / 0
Junit + Spring
    #37618719
nesquick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ТимоН,

Можно определить свой загрузчик контекста:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.test.context.ContextLoader;

public class CustomContextLoader implements ContextLoader{
    @Override
    public String[] processLocations(Class<?> type, String... strings) {

        return strings;
    }

    @Override
    public ApplicationContext loadContext(String... strings) throws Exception {
        return new FileSystemXmlApplicationContext(strings);
    }
    
}



И использовать вот так:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"WebContent/WEB-INF/context1.xml", 
    "WebContent/WEB-INF/context1.xml"}, loader=CustomContextLoader.class)
public class InitialFrameTest {
    
    @Test
    public void test() {

    }
}
...
Рейтинг: 0 / 0
Junit + Spring
    #37618740
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenomНу смотрите, main и test лежат в одной директории. Следвательно, вам надо подняться на один уровень вверх, а потом провалиться в main:
<sws:xsd location="../main/WEB-INF/fundList.xsd"/>
Я про это и писал в самом начале, таким образом у нас должен быть один конфиг для тестов с указанным вами путем и "боевой" для разворачивания на апп сервере.
...
Рейтинг: 0 / 0
Junit + Spring
    #37618774
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а где-то внутрях папки resources или src никак нельзя этот xsd положить (тогда должен быть виден). обязательно в WEB-INF?
...
Рейтинг: 0 / 0
Junit + Spring
    #37618784
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно даже мавеном это делать при сборке
...
Рейтинг: 0 / 0
Junit + Spring
    #37618827
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никМожно даже мавеном это делать при сборке
это было бы моим вторым предложением, но imho первый вариант предпочтительней
...
Рейтинг: 0 / 0
Junit + Spring
    #37619551
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaа где-то внутрях папки resources или src никак нельзя этот xsd положить (тогда должен быть виден). обязательно в WEB-INF?
А какая разница? В таком случае он должен лежать и в папке test/resources.
...
Рейтинг: 0 / 0
Junit + Spring
    #37619863
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТимоНА какая разница? В таком случае он должен лежать и в папке test/resources.
нет. и разница есть, ресурсы из папки main/resources и main/java видны в тест
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Junit + Spring
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]