У меня была следующая версия теста в JUnit 3, и я попытался преобразовать ее в JUnit 4, без успех. Идея состоит в том, чтобы иметь базовый тестовый пример, который выполняет фактическую проверку интерфейса, скажем, Service
интерфейса. Я хочу протестировать класс 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 для метода настройки
. Но разница в том, что @BeforeClass
требует, чтобы метод setup
был статическим
. Для меня это сложно, так как я не могу сделать getService ()
статическим, потому что это будет противоречить ключевому слову abstract
.
Вопрос:
Является ли чистый способ реализации альтернативы с использованием JUnit 4?