在Robolectric测试开始时添加配置注释时出现AnnotationFormatError

问题描述 投票:0回答:1

我试图写一个基本的机器人测验。

当我开始测试时,我得到:

Exception in thread "main" java.lang.annotation.AnnotationFormatError: 
Invalid default: public abstract java.lang.Class 
org.robolectric.annotation.Config.application()

当我删除@Config注释时:

java.lang.NoClassDefFoundError: android/app/Application
at org.robolectric.annotation.Config$Builder.<init>(Config.java:376)

我的测试片段:

@RunWith(RobolectricTestRunner.class)
@Config(constants = BuildConfig.class)
public class MyTest {

    @Mock
    private MyType myTypeMock;

    @Before
    public void setUp() {
        initMocks(this);
    }

    @Test
    public void shouldDoFoo() {

在我的build.gradle中:

    testCompile 'org.robolectric:robolectric:3.3.2'
android robolectric
1个回答
0
投票

[我在Android Studio 3.4.2和compileSdkVersion 28中解决了此问题

我的测试具有此初始配置:

@RunWith(RobolectricTestRunner::class)
@Config(sdk = [Build.VERSION_CODES.O_MR1])
class MyTest {
}

诀窍是将下一行添加到gradle.properties:

android.enableUnitTestBinaryResources=true
© www.soinside.com 2019 - 2024. All rights reserved.