Java 使用@MockBean模拟JobExplorer引发异常:InstanceAlreadyException
“在测试单个步骤时,如何使用 JobLauncherTestUtils?” “我试过了Java 使用@MockBean模拟JobExplorer引发异常:InstanceAlreadyException,java,spring,junit,mockito,spring-batch-tasklet,Java,Spring,Junit,Mockito,Spring Batch Tasklet,“在测试单个步骤时,如何使用 JobLauncherTestUtils?” “我试过了 @MockBean JobExplorer jobExplorer 但它抛出了一个例外: Failed to load applicationContext,Caused by InstanceAlreadyExistsException 但是当我单独运行它时,它工作得很好。所以我尝试使用 @Mock JobExplorer jobExplorer; public void setUp(){ M
@MockBean JobExplorer jobExplorer
但它抛出了一个例外:
Failed to load applicationContext,Caused by InstanceAlreadyExistsException
但是当我单独运行它时,它工作得很好。所以我尝试使用
@Mock JobExplorer jobExplorer;
public void setUp(){
MockitoAnnotations.init(this);
}
但是这个甚至不起作用:(然后我补充道
@RunWith(MockitoJunitRunner.class)
@Configuartion(...)
class MockTest{
@Mock JobExplorer jobExplorer
public void setUp(){
MockitoAnnotations.init(this);
}
}
主要代码:
请记住,只需使用:
@Mock JobExecution jobExecution
public void setUp(){
MockitoAnnotations.init(this);
}
不会导致将模拟实例注入到您期望的位置,或将其声明为实例变量的位置
这段代码很好,您不需要在上面使用@RunWith(MockitoJunitRunner.class)
您需要做的是在@Test
或@Before
方法中手动注入/设置作业执行
实例
@Mock JobExecution jobExecution
public void setUp(){
MockitoAnnotations.init(this);
}