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

yftpprvb  于 12个月前  发布在  Android
关注(0)|答案(1)|浏览(104)

使用JUnit 5运行需要访问隐藏/内部Android API的测试时,测试需要使用提升的权限运行。在应用程序的清单中,以下条目通常会被声明为android:sharedUserId=“android.uid.system”
有没有可能配置单元测试以使用这种提升的权限来执行?

zpf6vheq

zpf6vheq1#

在对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'
}

相关问题