相关疑难解决方法(0)

initMocks上的Mockito AbstractMethodError

所以我整天都在努力让Mockito为我的Android项目工作.我在Gradle构建文件中添加了所有内容:

androidTestCompile 'org.mockito:mockito-core:2.0.29-beta'
androidTestCompile "junit:junit:4.12-beta-3"
androidTestCompile 'com.google.dexmaker:dexmaker:1.2'
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'
Run Code Online (Sandbox Code Playgroud)

并尝试运行一个没有真正做任何事情的测试:

@RunWith(MockitoJUnitRunner.class)
public class LoginActivityTest extends 
    ActivityInstrumentationTestCase2<LoginActivity> {

    private LoginActivity loginActivity;

    private EditText et_email;
    private EditText et_password;
    private Button btn_login;

    @Mock
    SpiceManager manager;

    public LoginActivityTest(){
        super(LoginActivity.class);
    }

    @Override
    public void setUp() throws Exception {
        super.setUp();
        loginActivity = getActivity();

        MockitoAnnotations.initMocks(this);
        //manager = mock(SpiceManager.class);
        loginActivity.spiceManager = manager;

        et_email = (EditText) loginActivity.findViewById(R.id.et_email);
        et_password = (EditText) loginActivity.findViewById(R.id.et_password);
        btn_login = (Button) loginActivity.findViewById(R.id.btn_login);
    }

    @Override
    public void tearDown() throws Exception {
        super.tearDown();
    }

    public void testLoginEmpty() throws …
Run Code Online (Sandbox Code Playgroud)

testing android unit-testing mockito

12
推荐指数
3
解决办法
6715
查看次数

当mock()成功时,MockitoAnnotations.initMocks崩溃

我在仪器测试中使用@Mock注释时遇到了麻烦.

这是我的gradle依赖项:

androidTestCompile 'org.mockito:mockito-core:1.10.19'
androidTestCompile 'com.google.dexmaker:dexmaker:1.2'
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'
Run Code Online (Sandbox Code Playgroud)

这是一段代码示例:

@Mock View mockView

@Before
public void setup() {
    MockitoAnnotation.initMocks(this);
    ...
}
Run Code Online (Sandbox Code Playgroud)

这与崩溃

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference
at com.google.dexmaker.mockito.DexmakerMockMaker.getInvocationHandlerAdapter(DexmakerMockMaker.java:80)
at com.google.dexmaker.mockito.DexmakerMockMaker.getHandler(DexmakerMockMaker.java:75)
...
Run Code Online (Sandbox Code Playgroud)

但是,这有效

View mockView

@Before
public void setup() {
    mockView = Mockito.mock(View.class);
    ...
}
Run Code Online (Sandbox Code Playgroud)

任何人都有任何想法在这里发生了什么?

android mockito

9
推荐指数
1
解决办法
1620
查看次数

标签 统计

android ×2

mockito ×2

testing ×1

unit-testing ×1