- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
希望在方法 assertActivityRequiresPermission 和 assertReadingContentUriRequiresPermission 方面得到一些帮助。它的行为方式与我想象的不一样,我也看不出哪里出了问题。
我的理解是,可以通过在 AndroidManifest.xml 中将 android:permission 添加到它们各自的标签(和)来保护 Activity 和提供者。为了声明客户端 Activity 具有启动和 Activity 所需的权限或与提供者合作,我们在我认为是“包”级别的标记下声明。
因此,为了测试 AndroidTestCase 中的断言方法如何工作,我设置了一个 HelloWorld 项目和一个用于测试 HelloWorld 的项目。这是 HelloWorld 的 list 。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.helloandroid"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".HelloAndroidActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".RecipientActivity"
android:label="@string/app_name"
android:permission="android.permission.RECEIVE_SMS" >
</activity>
</application>
</manifest>
我有受 RECEIVE_SMS 保护的 RecipientActivity,所以我声明使用 RECEIVE_SMS,以便 HelloAndroidActivity 能够启动 RecipientActivity。
现在在我的测试课上,
public class TestRecipientActivity extends AndroidTestCase {
public void testPermissions() {
String packageName = "com.example.helloandroid";
String className = packageName + ".RecipientActivity";
String permission = android.Manifest.permission.RECEIVE_SMS;
assertActivityRequiresPermission(packageName, className, permission);
}
public void testContactsPermissions() {
final Uri URI = ContactsContract.AUTHORITY_URI;
final String permission = android.Manifest.permission.READ_CONTACTS;
assertReadingContentUriRequiresPermission(URI, permission);
}
}
结果?
testPermissions() 失败并显示“AssertionFailError:预期的安全异常”,这意味着 RecipientActivity 已成功启动且未抛出任何 SecurityException。
testContactsPermissions() 通过而没有抛出任何异常,尽管我没有在任何地方定义。
谁能解释为什么我会得到上述结果?谢谢!
最佳答案
你很久以前就问过这个问题,不知道你现在有没有解决。
我正在学习 Android 中的单元测试,我遇到了同样的问题。一开始我以为方法 assertActivityRequiresPermission() 测试在
您正在将相同的权限关联到
关于AndroidTestCase - assertActivityRequiresPermission 和 assertReadingContentUriRequiresPermission,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8089756/
https://gist.github.com/blundell/ff2ac1d5ff0a41519c36 http://developer.android.com/reference/android
我已经实现了一个 Instrumentation 和一个 AndroidTestCase。 对于我的测试,我需要连接到外部 WIFI 设备。我希望测试人员能够指定一个 SSID 供测试使用。 给命令行
我打算开始编写一些 android 测试用例,我想知道是否有一种方法可以在模拟器中以编程方式打开和关闭连接。 // High level puesdo code Test: is Message Pu
希望在方法 assertActivityRequiresPermission 和 assertReadingContentUriRequiresPermission 方面得到一些帮助。它的行为方式与我
我找到了 MeediaMuxer 的演示,它是一个 AndroidTestCase 文件。这是 link . 我从未使用过 Android Test。我做了一些研究,但其中大部分都有些复杂......
我正在使用 ActivityInstrumentationTestCase2 在我的 GUI 上进行自动黑盒测试。有没有办法点击一个对话框,或者在单元测试中获取属于该对话框的 View ? 我能想出的
我正在编写一个 android 测试用例,它需要对被测试的 Activity 执行一个单独的 Activity(不是为了测试,而是为了获得对 contentresolver 的访问权限,以便我可以更改
我一直在看这个答案:https://stackoverflow.com/a/2055455/281460它很好地解释了可用于 Android 单元/集成测试的不同测试类。不过,它没有解释的一件事是 I
我正在编写一些测试来测试我的 sqllite 数据库代码。这里有人可以解释一下,使用我从 AndroidTestCase.getContext() 获得的上下文来编写这些测试是否会有所不同?或使用 I
我正在使用 AndroidTestCase 进行一些单元测试,并且想知道是否可以使用我为 junit4 读过的忽略注释?仅仅使用注解就会报错,也许有什么特别需要注意的地方? 提前谢谢,马库斯 最佳答案
在为 Android 库项目编写测试用例时,我遇到了一些 View 尺寸问题。具体来说,我正在使用 AndroidTestCase 来测试自定义 View 类,该类(除其他外)可以生成其内容的位图。创
在我的项目中,当Service启动时,我发送一个广播: Intent intent = new Intent("my.service.action"); intent.setPackage("com.
我正在尝试在 Android 测试中测试写入 Parcel,但它不起作用。 s==空!怎么了? public class scraptest extends AndroidTestCase {
我正在为我的 Android 项目编写一个非常简单的单元测试用例,测试用例简单地执行一个在后台进行网络操作的 AsyncTask。我正在为我的测试用例扩展 AndroidTestCase 类: pub
我正在尝试使用 AndroidTestCase 进行测试。我试图在我的应用程序中只测试一个特定的类,但是这个类不扩展 Activity、Service 或其他任何东西。除了需要上下文之外,它基本上是一
我有一个测试用例,并在那里使用Environment.getExternalStorageDirectory() 调用,它返回 null。 我在应用程序的 list 中拥有“写入外部存储”权限(并且
我正在尝试执行一个扩展我制作的 AndroidTestCase 的测试类,但显然我一直收到以下错误: No apk changes detected. Skipping file upload, fo
你好,我正在为我的 sqlite 数据库做测试部分。我以前使用过 JUnit,但我了解到我必须扩展 AndroidTestCase 才能获得模拟上下文。但是,当我 try catch 异常时(如在 J
我正在尝试接受 Android Studio 的新单元测试功能。我已按照 http://tools.android.com/tech-docs/unit-testing-support 上的说明进行操
我有自己的 SQLiteOpenHelper 如下: public class MyOpenHelper extends SQLiteOpenHelper { public static fina
我是一名优秀的程序员,十分优秀!