Создание связанных с базой данных тестовых случаев JUNIT для Struts2

Я использую struts2-junit-plugin для написания тестовых примеров для веб-приложения struts2. Моя проблема в том, что в моих классах действий есть некоторые запросы к базе данных, использующие источник данных (jndi), как я могу смоделировать это в моем тестовом примере.

РЕДАКТИРОВАТЬ

В этом тесте я устанавливаю удаленного пользователя.

public void testexecute()
{   
    try 
    {   
        ActionProxy proxy = getActionProxy("/index");

        IndexAction action = (IndexAction) proxy.getAction();

        request.setRemoteUser("Haider");


        assertTrue(action.execute().equals(ActionSupport.SUCCESS));

        assertTrue(true);
    }
    catch(Exception ex)
    {
        assertTrue(false);
    }       
}

и в IndexAction (реализует PrincipalAware) у меня есть это

 public String execute()
 {  
    try
    {   
        if(principleProxy != null)
        {
            userModel = new UserModel();
            userModel.setUserName(principleProxy.getRemoteUser());              
        }
        else
        {
            return ERROR;
        }       
  ................................
  .................................

 }

в принципе индексирования Proxy является нулевым, когда я запускаю тест.

1 ответ

Вы можете изучить использование Dbunit

DbUnit - это расширение JUnit (также используемое с Ant), предназначенное для управляемых базой данных проектов, которое, помимо прочего, переводит вашу базу данных в известное состояние между тестовыми запусками. Это отличный способ избежать множества проблем, которые могут возникнуть, когда один тестовый случай повреждает базу данных и приводит к сбою или усугублению последующих тестов.

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

Другие вопросы по тегам