您正在使用
@InjectMocksfor 构造函数
注入。只要Mockito发现未初始化的字段(空),这将起作用。JUnit在每次测试之前都会创建一个新的测试类实例,因此JUnit粉丝(像我一样)将永远不会遇到此类问题。TestNg不会创建测试类的新实例。它保持测试方法之间的状态,因此当
MockitoAnnotations.initMocks(this)第二次调用时,Mockito将发现已经初始化的
主题 字段并尝试使用 字段 注入。另一方面,这将起作用,直到该字段不是最终的。
这是一个错误吗?我相信不是-这是API设计的自然结果。一些解决方法是添加
this.subject = null;
用某种
@AfterMethod方法。



