我在JUnit 3中有以下版本的测试,我试着将它转换成JUnit 4,没有成功。这个想法是有一个基本的测试用例,它接口的实际测试,例如Service
接口。我想使用基本测试用例来测试ServiceImpl
类。Junit 3到JUnit 4的转换
public class ServiceImplTest extends ServiceBaseTest { @Override public void setUp() { service = new ServiceImpl(); } }
我知道我可以删除TestCase
推广和使用@BeforeClass为setup
方法:
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
类等。但区别在于@BeforeClass
要求方法setup
为static
。这对我来说很棘手,因为我不能使getService()
为静态,因为它会与abstract
关键字冲突。
Question:
是否使用JUnit 4实现替代方案的干净方式?
@Before将在每个@Test之前执行。我只想设置一次服务。 JUnit3中的 – walters 2010-10-01 16:20:00
,setUp()也在每次测试之前调用。如果要确保只调用一次getService(),则可以将调用的结果存储在静态字段中 – NamshubWriter 2010-10-24 07:09:34