使用常量或在@Config

时间:2017-07-08 00:17:36

标签: android junit android-resources robolectric

如果我使用以下内容注释我的测试类,我的所有测试用例都运行得非常快。

@RunWith(RobolectricTestRunner.class)    
@Config(packageName = "com.my.app")

不幸的是,我访问字符串资源的任何测试用例都因为无法找到资源而失败:

android.content.res.Resources$NotFoundException: String resource ID #0x7f090172

如果我用以下内容注释我的课程:

@RunWith(RobolectricTestRunner.class)
@Config(manifest = "src/main/AndroidManifest.xml", packageName = "com.my.app")

OR

@RunWith(RobolectricTestRunner.class)
@Config(constants = BuildConfig.class, packageName = "com.my.app")

...每个测试用例的性能很差(8ms vs 30-40sec)

似乎每当我使用constantsmanifest配置时,每次测试都会显着减慢我的测试速度。因此,当我的构建在构建服务器上运行时,它们通常会失败,因为构建超时。

在能够访问资源(字符串)的同时,有没有办法获得我之前(或接近它)的性能?

0 个答案:

没有答案