Mockito - Android - Throwing ExceptionIninitializerError

时间:2014-03-28 23:03:37

标签: android unit-testing mockito

这是我的代码:

    import org.mockito.Mockito;

    public void testOnPrepareOptionsMenu() {

        Menu aMenu = null;
        DrawerLayout drawerLayoutMock = Mockito.spy(drawerLayout);
        Mockito.when(drawerLayoutMock.isDrawerOpen(Gravity.LEFT)).thenReturn(true);
        boolean menuPrepared = homeViewController.onPrepareOptionsMenu(aMenu);
        assertTrue("Menu shall be prepared", menuPrepared);
        assertNotNull("Menu shall exist", aMenu);

        Mockito.when(drawerLayoutMock.isDrawerOpen(Gravity.LEFT)).thenReturn(false);
        menuPrepared = homeViewController.onPrepareOptionsMenu(aMenu);
        assertFalse("Menu shall not prepared when drawer is closed", menuPrepared);

    }

测试在Mockito.spy(drawerLayout)行崩溃。

1 个答案:

答案 0 :(得分:2)

我忘了将以下内容添加到libs文件夹中:

http://dexmaker.googlecode.com/files/dexmaker-1.0.jar http://dexmaker.googlecode.com/files/dexmaker-mockito-1.0.jar

另外,我必须将它添加到setup()方法:

System.setProperty(
            "dexmaker.dexcache",
            getInstrumentation().getTargetContext().getCacheDir().getPath());