我正在尝试使用Mockito对Android应用程序进行单元测试,特别是使用newInstance()进行初始化的片段。我无法将我的Mock对象注入到被测对象的私有成员变量中。我看过的所有示例都使用new()
代替newInstance()
,并在初始化的同一行显示@InjectMocks
注释。我是否可以不使用注释声明变量,而是等待稍后初始化它?
我有:
public class MyFragmentTest extends TestCase {
@Mock (name="memberVariableName") private MyObject mMyObjectMock;
@InjectMocks private MyFragment mFragment;
@Override
protected void setUp() throws Exception {
super.setUp();
// Initialize mock objects that are being injected
MockitoAnnotations.initMocks(this);
// Work around for a known issue with Mockito and Dexmaker
System.setProperty("dexmaker.dexcache", getInstrumentation().getTargetContext().getCacheDir().getPath());
}
}