Преобразование Junit 3 в JUnit 4 - PullRequest
1 голос
/ 01 октября 2010

У меня была следующая версия теста в JUnit 3, и я попытался преобразовать его в JUnit 4, но безуспешно. Идея состоит в том, чтобы иметь базовый тестовый сценарий, который выполняет реальное тестирование интерфейса, скажем, Service interface. Я хочу проверить класс ServiceImpl, используя базовый контрольный пример.

public abstract class ServiceBaseTest extends TestCase {

   protected Service service;
   protected abstract Service getService();

   @Override
   public void setUp() {
      service = getService();
   }

   public void testMethod(){
      //test code
   }
   ...
}

ServiceImplTest класс как:

public class ServiceImplTest extends ServiceBaseTest {
   @Override
   public void setUp() {
      service = new ServiceImpl();
   }
}

Я знаю, что могу удалить расширение TestCase и использовать @BeforeClass для метода setup. Но разница в том, что @BeforeClass требует, чтобы метод setup был static. Это сложно для меня, так как я не могу сделать getService() статичным, потому что это будет конфликтовать с ключевым словом abstract.

Question: Является ли чистый способ реализации альтернативы с использованием JUnit 4?

Ответы [ 2 ]

1 голос
/ 26 октября 2010
protected static Service service = null;

@Override
public void setUp() {
   if(service == null)//Check null
      service = new ServiceImpl();
}
1 голос
/ 01 октября 2010

Не можете ли вы просто использовать аннотацию @Before?

...