热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Cannotcompileteststhatcall`Shadows.shadowOf(...)`in3.0SNAPSHOT

Itseemsthatanytestthatattemptstocall

It seems that any test that attempts to call

1
Shadows.shadowOf()

for a supported object type (e.g.,

1
View

) fails to load the

1
Shadows

class because of some classes that are `` in the Android platform. The errors are similar to:

1
2
3
4
/path/to/MyTest.java:184: error: cannot access ActivityThread

        Assert.assertTrue(shadowOf((View) mView).didRequestLayout());

                          ^

  class file for android.app.ActivityThread not found

The cast of

1
(View) mView

was added only to show that it's actually a View object, and should be calling

1
Shadows.shadowOf(View)

. I'm not accessing

1
ActivityThread

at all, but looking at the class in the IDE, it is documented as

1
`, and it cannot be accessed from within my application code.  Opening the Shadows class in the IDE also shows several errors related to the classes that cannot be loaded, including

ActivityThread`.

The same error occurs for other calls to

1
shadowOf()

, each with a different problem class:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/path/to/MyTest.java:184: error: cannot access ActivityThread

        Assert.assertTrue(shadowOf((View) mView).didRequestLayout());

                          ^

  class file for android.app.ActivityThread not found

/path/to/MyTest.java:193: error: cannot access AlertController

        ShadowAdapterView shadow = shadowOf(mView);

                                   ^

  class file for com.android.internal.app.AlertController not found

/path/to/MyTest.java:211: error: cannot access DisplayManagerGlobal

        shadowOf(mView).performItemClick(2);

        ^

  class file for android.hardware.display.DisplayManagerGlobal not found

/path/to/MyTest.java:222: error: cannot access EmojiFactory

                transcript.add("onItemClick " + shadowOf(view).innerText() + ", " + position + ", " + id);

                                                ^

  class file for android.emoji.EmojiFactory not found

/path/to/MyTest.java:227: error: cannot access GeoPoint

        shadowOf(mView).performItemClick(2);

        ^

  class file for com.google.android.maps.GeoPoint not found

/path/to/MyTest.java:239: error: cannot access ItemizedOverlay

                transcript.add("onItemClick " + shadowOf(view).innerText() + ", " + position + ", " + id);

                                                ^

  class file for com.google.android.maps.ItemizedOverlay not found

/path/to/MyTest.java:289: error: cannot access WindowManagerImpl

        assertThat(Shadows.shadowOf(v.findViewById(R.id.ad_container)).innerText()).isEmpty();

                          ^

  class file for android.view.WindowManagerImpl not found

/path/to/MyTest.java:305: error: cannot access WindowManagerGlobal

        assertThat(Shadows.shadowOf(v.findViewById(R.id.ad_container)).innerText()).isEqualTo("1, MREC_1, UNKNOWN");

                          ^

  class file for android.view.WindowManagerGlobal not found

These tests compiled fine in robolectric 2.4, using

1
Robolectric.shadowOf(...)

. Is there something else that I missed in the 2.4-to-3.0 migration?

该提问来源于开源项目:robolectric/robolectric

Also, with the new unit test support in 1.1.0, Android is already adding the mockableAndroid.jar to the classpath, so we shouldn't be adding android-all anymore (only if using 1.1.0, of course).



Using the mockable android.jar is a completely separate thing from using Robolectric.


   



推荐阅读
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文讲述了如何通过代码在Android中更改Recycler视图项的背景颜色。通过在onBindViewHolder方法中设置条件判断,可以实现根据条件改变背景颜色的效果。同时,还介绍了如何修改底部边框颜色以及提供了RecyclerView Fragment layout.xml和项目布局文件的示例代码。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
author-avatar
原文W
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有