Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Spring test отдельно от Spring 
:(
    Опции темы
Severyanin
Дата 16.8.2015, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 31.7.2007
Где: Россия, Омск

Репутация: нет
Всего: 9



Доброго дня, форумчане. В связи с вынужденной сменой работы пришлось переодить на новую технологию. Для решения задачи тестирования SQL-запросов, которая стоит перпедо мной, отлично подходит spring-test (по крайней мере, по информации от тов. Гугла). Проблема в том, что само приложение не работает со спрингом, и к нему модуль отдельно пока прикрутить не удалось. В связи с этим возникает вопрос, можно ли действительно как это заявлено в документации использовать spring-test в приложении, которое не использует spring и, если можно, ссылку на мануал или подробный алгоиртм для новичков. Спасибо


--------------------
"Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл
"Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов 
PM MAIL WWW ICQ   Вверх
AntonSaburov
Дата 17.8.2015, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 8
Всего: 118



Можно написать свое собственное приложение для тестирования, которое не будет связано с существующим. Это в общем так и делается - для тестирования существует по сути свое собственное приложение. ВОт его придется делать на Spring.

PM MAIL WWW ICQ   Вверх
Pawl
Дата 17.8.2015, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 649
Регистрация: 22.4.2008
Где: Витебск

Репутация: 3
Всего: 28



Я так понял, что тестировать надо веб-приложение без фреймворков? Тогда для тестов запросов к БД можно использовать com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource:
Код

import com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

public class DataBasePoolCreator {
    public static void create() {
        try {
            System.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.naming.java.javaURLContextFactory");
            System.setProperty(Context.URL_PKG_PREFIXES, "org.apache.naming");
            InitialContext ic = new InitialContext();
            ic.createSubcontext("java:");
            ic.createSubcontext("java:/comp");
            ic.createSubcontext("java:/comp/env");
            ic.createSubcontext("java:/comp/env/jdbc");
            MysqlConnectionPoolDataSource ds = new MysqlConnectionPoolDataSource();
            ds.setURL("jdbc:mysql://localhost:3306/eshop"); // <--insert url to database here
            ds.setUser("eshop"); //<-- self explanatory
            ds.setPassword("e-$HopP@ssw0rd"); //<-- self explanatory
            ic.bind("java:/comp/env/jdbc/eshop", ds); 
        } catch (NamingException ex) {
        }        
    }
}

Тут создается пул соединений, а в тесте из него получается dataSource, который можно передать в DAO:
Код

    ...
    @BeforeClass
    public static void setUpClass() {
        DataBasePoolCreator.create();
    }    
    
    @Before
    public void setUp() throws NamingException, SQLException {       
        Context initContext = new InitialContext();
        Context webContext = (Context)initContext.lookup("java:/comp/env");
        dataSource = (DataSource) webContext.lookup("jdbc/eshop");        
        dao = new GuestDAO(dataSource);
        when(request.getRequestDispatcher(anyString())).thenReturn(rd);
    }

    @Test
    ...


Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
Severyanin
Дата 19.8.2015, 07:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 31.7.2007
Где: Россия, Омск

Репутация: нет
Всего: 9



AntonSaburov, спасибо, так и сделал. Все работает


--------------------
"Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл
"Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0604 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.