在将我们的构建工具迁移到Buck时,我们偶然发现Android中的单元测试存在以下问题:
我们对视图模型的测试需要访问R.java以声明正确的资源被引用。
我们使用了java_test规则,但似乎找不到R.java。有一个robolectric_test构建.apk,但我们只想在类路径中使用R.java文件进行单元测试。
是否存在没有android_test规则的原因。 这样做有什么计划吗?
我们探索了代码并看到我们需要查看AndroidLibraryGraphEnhancer并构建Android资源。
有什么建议吗?
答案 0 :(得分:0)
没有计划添加此类规则,因为它不清楚它应该做什么以及为什么robolectric_test
是不够的。
Buck并没有为Robolectric测试构建一个apk。
您真的不想使用java_test
来测试Android代码,因为Android SDK和Java SDK不同。您必须使用robolectric_test
测试Android代码,因为它使用Android SDK。