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