在BUCK中使用java测试访问R.java

时间:2017-04-18 19:29:40

标签: android unit-testing buck okbuck

在将我们的构建工具迁移到Buck时,我们偶然发现Android中的单元测试存在以下问题:

我们对视图模型的测试需要访问R.java以声明正确的资源被引用。

我们使用了java_test规则,但似乎找不到R.java。有一个robolectric_test构建.apk,但我们只想在类路径中使用R.java文件进行单元测试。

是否存在没有android_test规则的原因。 这样做有什么计划吗?

我们探索了代码并看到我们需要查看AndroidLibraryGraphEnhancer并构建Android资源。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

没有计划添加此类规则,因为它不清楚它应该做什么以及为什么robolectric_test是不够的。

Buck并没有为Robolectric测试构建一个apk。

您真的不想使用java_test来测试Android代码,因为Android SDK和Java SDK不同。您必须使用robolectric_test测试Android代码,因为它使用Android SDK。