使用Robolectric测试依赖于库项目的Android应用程序

时间:2015-08-17 11:46:07

标签: android robolectric

我有一个Android应用程序,它依赖于一个libray项目。

我已经为我的应用程序使用Robolectric(v 3.0)编写了一些单元测试。

然而,当我进行测试时,测试不会完成。 我尝试从 AndroidStudio(v 1.3)运行,在这种情况下,"正在进行中"动画显示在测试旁边,但测试没有完成。

当我从命令行运行时,它被卡住了大约78%。

  

:samples:compileDebugUnitTestJava UP-TO-DATE   :samples:compileDebugUnitTestSources UP-TO-DATE   :samples:mockableAndroidJar UP-TO-DATE:samples:assembleDebugUnitTest   UP-TO-DATE

     
    

建筑78%> :样品:testDebug

  

我的DemoActivityTest文件:

@Config(constants = BuildConfig.class,manifest = "src/main/AndroidManifest.xml",  sdk = 21, libraries ="../library")
@RunWith(RobolectricGradleTestRunner.class)

public class DemoActivityTest {
    private DemoActivity activity = null;

@Before
public void setup()  {
    this.activity = Robolectric.buildActivity(DemoActivity.class).create().get();
}

@Test
public void testActivityNotNull() throws Exception {
    assertNotNull(activity);
}

}

只有从我的DemoActivity.java访问库类时才会出现问题 如果我删除" library"相关代码。

此链接(http://robolectric.org/using-libraries/)说: 使用带Gradle的库

如果您使用Gradle构建应用程序并且使用RobolectricGradleTestRunner来运行测试,则无需其他配置。这是因为Android Gradle插件会在构建时将第三方库资源与您的应用程序资源合并。

请求您帮助我解决此错误。

由于

0 个答案:

没有答案