【发布时间】:2015-12-30 15:35:20
【问题描述】:
我正在编写 Android 仪器测试,但 Robolectric 自定义阴影不足。
理想情况下,我们希望编写跨所有版本的 Android SDK 灵活的代码,但是我处于边缘情况,我需要为仅适用于 Marshmallow 的方法编写单独的单元测试。
由于操作系统依赖的差异(即 java.lang.NoClassDefFoundError's),我还需要编写一个仅适用于 Lollipop 及以下的单元测试
我是否可以通过类似 Junit4 的注释或类似于 Robolectric 所做的事情来做到这一点,如果 SDK 不合适,它可以忽略运行测试?
我不想写这样的代码:
// MarshmallowWidgetTest.java
@Test
public void testPrintName()
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
{
// ...asserts...
}
}
// LollipopWidgetTest.java
@Test
public void testPrintName()
{
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP)
{
// ...asserts...
}
}
【问题讨论】:
标签: android unit-testing robolectric android-instrumentation