1

我在 JUnit 3 中有以下版本的测试,我尝试将其转换为 JUnit 4,但没有成功。这个想法是有一个基本的测试用例,对接口进行实际测试,比如Service接口。我想ServiceImpl使用基本测试用例来测试这个类。

公共抽象类 ServiceBaseTest 扩展 TestCase {

   受保护的服务服务;
   受保护的抽象服务 getService();

   @覆盖
   公共无效设置(){
      服务 = 获取服务();
   }

   公共无效测试方法(){
      //测试代码
   }
   ...
}

ServiceImplTest类如:

公共类 ServiceImplTest 扩展 ServiceBaseTest {
   @覆盖
   公共无效设置(){
      服务 = 新的 ServiceImpl();
   }
}

我知道我可以删除TestCase扩展名并将@BeforeClass 用于该setup方法。但不同的是,@BeforeClass需要的方法setupstatic。这对我来说很棘手,因为我不能制作getService()静态,因为它会与abstract关键字冲突。

Question:使用 JUnit 4 实现替代方案是一种干净的方式吗?

4

2 回答 2

1
protected static Service service = null;

@Override
public void setUp() {
   if(service == null)//Check null
      service = new ServiceImpl();
}
于 2010-10-26T05:40:25.733 回答
1

你不能只使用@Before 注释吗?

于 2010-10-01T15:43:54.953 回答