У меня была следующая версия теста в 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?