Jul*_*rty 3 android android-testing android-espresso
我发现一项测试,尤其是在 KitKat 之前的设备上一直失败。我相信这与旧 Android 设备上使用的嵌入式 WebView 的变化有关(但也许这是错误的)。无论如何,回到我的问题:我想要一种优雅的方式来控制是否根据设备上运行的 Android 版本运行测试。
目前,如果运行时早于 KitKat,我会使用短路测试并通过测试的代码。这是相关的代码:
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
assertTrue("Skipping this test as the Android version is too low.", true);
return;
}
Run Code Online (Sandbox Code Playgroud)
因为我已经依次尝试使用两个注解:@TargetApi和@RequiresApi如
@Test
@RequiresApi(Build.VERSION_CODES.KITKAT)
public void zimTest() {
Log.v("kiwixTesting", "Running zimTest() on Android version: " + Build.VERSION.SDK_INT);
...
}
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,测试都在我的测试设备(包括 Android 4.3、4.3、4.4 和更新版本)上运行。我可以判断,因为测试运行程序显示测试已成功运行,并且日志中Log.v("kiwixTesting", "Running zimTest() on Android version: " + Build.VERSION.SDK_INT);出现以下日志消息的输出
。
有人可以建议比我更好的方法吗?谢谢你。
| 归档时间: |
|
| 查看次数: |
355 次 |
| 最近记录: |