在 Android Studio 中,如何为 JUnit 测试指定运行时用户 ID (sharedUserId="android.uid.system")

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

当使用 JUnit5 运行需要访问隐藏/内部 Android API 的测试时,测试需要以提升的权限运行。在应用程序的清单中,通常会声明以下条目 android:sharedUserId="android.uid.system"

是否可以将单元测试配置为以此类提升的权限执行?

android android-studio android-manifest junit5
1个回答
0
投票

当涉及到 Android 应用程序的单元测试时,尤其是在处理隐藏/内部 API 时,使用

android:sharedUserId="android.uid.system"
并不是一个可行的解决方案。相反,您可以创建
androidTest
源集并使用
AndroidJUnitRunner
编写测试。此外,Robolectric 是一个测试框架,允许您编写在 JVM 上运行的单元测试(无需模拟器或设备)。

@RunWith(RobolectricTestRunner.class)
public class MyUnitTest {

    @Before
    public void setUp() {
        // Setup any necessary configurations
    }

    @Test
    public void testSomething() {
        // Your test code here
    }
}

确保您已在应用程序的

build.gradle
文件中添加了必要的依赖项,用于测试 JUnit 和 Robolectric 等框架。

dependencies {
    // ...

    testImplementation 'junit:junit:4.13'
    testImplementation 'org.robolectric:robolectric:4.6.1'
}
© www.soinside.com 2019 - 2024. All rights reserved.