Mockito无法为@Async方法注入模拟

时间:2018-02-20 17:12:21

标签: java unit-testing junit mockito

我有一个班级

.MODEL LARGE
.STACK 1000H
.DATA
LF DB 0AH
.CODE
MAIN PROC
MOV DX, 0002H
MOV CX, 0064H
BODY:
MOV BX, 0064H
SUB BX, CX
MOV AX, BX
DIV DL
CMP AH, 1H
JNE GO
PRINT:
ADD BX, 0H
AAA
OR BX, 3030H
ROL BX, 4
MOV AL, BL
MOV AH, 1H
INT 21H
ROL BX, 4
MOV AL, BL
MOV AH, 1H
INT 21H
LEA DX, LF
MOV AH, 9H
INT 21H
GO: LOOP BODY
MAIN ENDP 
END

在上面的例子中,someService应该被Mockito嘲笑。但是,由于@EnableAsync class A { @Autowired private SomeService someService; @Async public void someMethod() { this.someSerivice.call(); } } class ATest { @Before public void before() { MockitoAnnotations.init(this) } @Autowired @InjectMocks private A a; @Mock private SomeService someService; @Test public void someTest() { } } 的存在,它不会被嘲笑,我收到了实际的实例。

有人遇到过这个吗?任何解决方案?

1 个答案:

答案 0 :(得分:0)

您可以在测试用例中手动设置模拟,如下所示

previous