【发布时间】:2016-01-30 13:31:22
【问题描述】:
我遇到需要对 EJB 方法进行单元测试的情况。目标 EJB 依赖于另一个 EJB,例如,
@Stateless(name = "service1")
@Interceptors({FaultBarrierInterceptor.class})
public class Service1 implements Service1Remote {
@EJB(beanName = "service2")
private Service2Local service2;
}
Service2Local 是本地 EJB 接口,我在 Junit 的 @Before 方法中模拟如下方法,
new MockUp<Service2Local>(){
@Mock
public void $init() {
}
@Mock
public List<String> search(){
return List_1;
}
}.getMockInstance();
是否可以在不同的测试方法(例如 List_2 )中获得不同的列表(来自模拟的 search() 方法)?我希望这个 search() 方法在不同的 @Test 方法中返回不同的值。
我在我的测试方法中尝试了一个新的 MockUp,但没有奏效。 在 Mockito 中,我可以通过在依赖模拟对象的测试方法中调用 when().thenReturn() 来实现这一点。
我正在使用@Injectable 来注入依赖项。
【问题讨论】: