Перейти к содержимому

Фотография

Автоматизация тестирования J2EE Приложений


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 funtykin

funtykin

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Сергей

Отправлено 22 октября 2012 - 13:43

Здравствуйте!

Необходимо реализовать тестирование J2EE приложения, а точнее его бинов по отдельности. для простоты предлагаю рассматривать простейший бин:

SampleServiceEJB
import javax.ejb.Stateless;

@Stateless (name = "SampleService")
public class SampleServiceEJB implements SampleService{
	
	@Override
	public String echoString(String str){
		System.out.println("SampleServiceEJB tester : " + str);
		return str;
	}

}

SampleService.java
import javax.ejb.Remote;

@Remote
public interface SampleService {
	String echoString(String str);
}

Так теперь необходимо реализовать тестирование этого бина собственно запуск, вызов метода, и т.п. Посоветуйте куда копать и что почитать, а то как то совсем не понятно с чего начать.
  • 0

#2 tab15

tab15

    Активный участник

  • Members
  • PipPip
  • 128 сообщений

Отправлено 23 октября 2012 - 08:10

JUnit полагаю
  • 0

#3 funtykin

funtykin

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Сергей

Отправлено 23 октября 2012 - 08:19

Да я уже смотрю как JUnit c OpenEJB скрестить... Просто jUnit сам по себе не способен запустить EJB необходимо этот EJB сначала в контейнер разместить, что бы он там работал и уже от туда его тестировать.
  • 0

#4 funtykin

funtykin

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Сергей

Отправлено 23 октября 2012 - 11:59

Разобрался.

Нам понадобится библиотеки OpenEJB их можно было бы взять тут но по неизвестным мне причинам архив этот на ресурсе отсутствует. по этому я взял их из Apache TomEE. Прикручиваем их к проекту(я не долго думая цепанул все). ну и тест для моего примера(из шапки) вышел такой.

HelloWorldTest.java
import javax.ejb.embeddable.EJBContainer;
import com.bssys.fraud.test.SampleService;
import junit.framework.TestCase;

public class HelloWorldTest extends TestCase {
    
    private SampleService sampleService;

    public void setUp() throws Exception {
        
        EJBContainer ejbContainer = EJBContainer.createEJBContainer();
        
        sampleService = (SampleService) ejbContainer.getContext().lookup("java:global/TestEJB/SampleService");

    }
    
    public void testHelloWorld() throws Exception {

        String result = sampleService.echoString("HelloWorld");
        assertEquals( "HelloWorld", result );
        
    }
}

Надеюсь кому нибудь пригодится.
Всем спасибо! Все свободны!
  • 1


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных