gpt4 book ai didi

android - 尝试在 MultiDex 应用程序中测试 Android 模块,无法识别 com.android.test.runner.MultiDexTestRunner

转载 作者:太空宇宙 更新时间:2023-11-03 12:49:41 26 4
gpt4 key购买 nike

有人知道为什么我不能使用 MultiDexTestRunner 吗?

Instrumentation runner class not specified

我的 build.gradle 包含:

android {
...
defaultConfig {
...
multiDexEnabled true

testInstrumentationRunner 'com.android.test.runner.MultiDexTestRunner'
}

dependencies {
...
// Testing-only dependencies
androidTestCompile 'com.android.support.test:runner:0.4.1'
androidTestCompile 'com.android.support.test:rules:0.4.1'
androidTestCompile 'junit:junit:4.12'

Gradle 的 Android 插件版本是 2.0.0-alpha2 (com.android.tools.build:gradle:2.0.0-alpha2)

//Runs all unit tests.
@RunWith(Suite.class)
@Suite.SuiteClasses({ACLTest.class})
public class UnitTestSuite {

public UnitTestSuite() {}
}

测试类:

@RunWith(AndroidJUnit4.class)
@MediumTest
public class ACLTest {

static Context context;

public ACLTest() {
}

@BeforeClass
public static void setUpBeforeClass() {
...
context = InstrumentationRegistry.getTargetContext();
}

@Before
public void setUpBeforeTest() throws Exception {
...
}


@After
public void tearDown() throws Exception {
...
}

@Test
public void aAGetInstance() throws Exception {
...
}
}

最佳答案

我通过实现对 android.support.test.runner.AndroidJUnitRunner 的扩展并覆盖 onCreate 解决了我的问题

public class MultiDexAndroidJUnitRunner extends AndroidJUnitRunner {
@Override
public void onCreate(Bundle arguments) {
//To make it work on MultiDex environment.
//https://plus.google.com/+OleksandrKucherenko/posts/i7qZdVEy3Ue
MultiDex.install(getTargetContext());

super.onCreate(arguments);
}
}

关于android - 尝试在 MultiDex 应用程序中测试 Android 模块,无法识别 com.android.test.runner.MultiDexTestRunner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34310259/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com