小编eri*_*low的帖子

如何让Mockito在androidTest中工作

在我的测试中,我如何模拟我写的一个类?

这是我的测试代码:

import android.support.test.runner.AndroidJUnit4;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;

import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;

@RunWith(AndroidJUnit4.class)
public class SampleTest {
    @Mock
    Sample mySample;

    @Before
    public void setup() {
        MockitoAnnotations.initMocks(this);
    }

    @Test
    public void shouldMockSample() {
        verify(mySample, never()).neverCallMe();
    }

}
Run Code Online (Sandbox Code Playgroud)

示例只是一个虚拟类.

public class Sample {

    public void neverCallMe() {}
}
Run Code Online (Sandbox Code Playgroud)

我该如何摆脱这个错误?

java.lang.VerifyError: org/mockito/cglib/core/ReflectUtils at org.mockito.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:167) at org.mockito.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) at org.mockito.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:217) at org.mockito.cglib.core.KeyFactory$Generator.create(KeyFactory.java:145) at org.mockito.cglib.core.KeyFactory.create(KeyFactory.java:117) at org.mockito.cglib.core.KeyFactory.create(KeyFactory.java:109) at org.mockito.cglib.core.KeyFactory.create(KeyFactory.java:105) at org.mockito.cglib.proxy.Enhancer.(Enhancer.java:70) at org.mockito.internal.creation.cglib.ClassImposterizer.createProxyClass(ClassImposterizer.java:95) at org.mockito.internal.creation.cglib.ClassImposterizer.imposterise(ClassImposterizer.java:57) at org.mockito.internal.creation.cglib.ClassImposterizer.imposterise(ClassImposterizer.java:49) at …

android unit-testing mockito

14
推荐指数
2
解决办法
6042
查看次数

带有导航标签的ActionBar会根据屏幕方向更改高度

我的目标是增加ActionBar纵向模式的高度.我目前订

机器人:actionBarSize

在我的Themes.xml中.

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="DayTheme" parent="android:style/Theme.Holo.Light">
        <item name="android:actionBarSize">@dimen/actionBarHeight</item>
        <item name="android:actionBarTabTextStyle">@style/tab_indicator_text_dark</item>
    </style>
    <style name="NightTheme" parent="android:style/Theme.Holo">
        <item name="android:actionBarSize">@dimen/actionBarHeight</item>
        <item name="android:actionBarTabTextStyle">@style/tab_indicator_text_light</item>
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

我在横向模式下获得了所需的效果,我将ActionBar高度增加到80dp.

在此输入图像描述

然而,我将屏幕旋转为纵向模式,高度变化如此.

在此输入图像描述

注意我在代码中进行以下调用.

final ActionBar bar = getActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
bar.setDisplayShowTitleEnabled(false);
bar.setDisplayShowHomeEnabled(false);
Run Code Online (Sandbox Code Playgroud)

我正在开发一个带有android 4.2的Nexus 7.

如何在横向模式下以纵向模式获得相同的80dp高度?

android android-actionbar android-tabs nexus-7

10
推荐指数
1
解决办法
2万
查看次数