未找到Android测试的存根布局

时间:2014-03-08 21:53:40

标签: android unit-testing android-layout

我正在尝试使用Android测试框架测试自定义视图。我从Android CTS源代码中复制了LinearLayoutTest code作为示例。这使用了LinearLayoutStubActivity,它只会使布局膨胀。

我有几个问题:

  • 当我在linearlayout_layout.xml文件夹中创建androidTest/res/layout文件时,Android Studio甚至找不到xmlns:android URI。不是一个大问题,但表明事情是不对的。 AS显示文件夹的相应突出显示,因此我知道AS正在将这些视为源文件夹。
  • LinearLayoutStubActivity将内容视图设置为R.layout.linearlayout_layout,但无法找到linearlayout_layout。
  • 显然,对实际测试代码中的资源的任何引用都是如此。

从命令行gradle运行测试失败,出现预期的cannot find symbol错误。

有一些与在SO上测试自定义视图相关的问题,并且适当的方式似乎在一个Activity上下文中膨胀它,但是如果没有编写一个单独执行测试的应用程序,这似乎是不可能的。我相信Android源代码中的测试也是如此。一个应用程序只有虚拟布局,另一个应用程序进行实际测试。这是做这样事情的唯一方法吗?

1 个答案:

答案 0 :(得分:1)

您是否尝试在引用androidTest res文件夹的LinearLayoutStubActivity中添加import语句?它将采用

的形式
import com.packagename.test.R; 

而不是

的正常导入语句
import com.packagename.R;