我正在尝试使用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源代码中的测试也是如此。一个应用程序只有虚拟布局,另一个应用程序进行实际测试。这是做这样事情的唯一方法吗?
答案 0 :(得分:1)
您是否尝试在引用androidTest res文件夹的LinearLayoutStubActivity中添加import语句?它将采用
的形式import com.packagename.test.R;
而不是
的正常导入语句import com.packagename.R;