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

yftpprvb  于 2023-10-23  发布在  Android
关注(0)|答案(1)|浏览(148)

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

zpf6vheq

zpf6vheq1#

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

  1. @RunWith(RobolectricTestRunner.class)
  2. public class MyUnitTest {
  3. @Before
  4. public void setUp() {
  5. // Setup any necessary configurations
  6. }
  7. @Test
  8. public void testSomething() {
  9. // Your test code here
  10. }
  11. }

确保您已在应用的build.gradle文件中添加必要的依赖项,以测试JUnit和Robolectric等框架。

  1. dependencies {
  2. // ...
  3. testImplementation 'junit:junit:4.13'
  4. testImplementation 'org.robolectric:robolectric:4.6.1'
  5. }
展开查看全部

相关问题