是否可以在Android测试项目中定义Activity并对其进行测试?

是否可以在Android测试项目中定义Activity并对其进行测试?,第1张

概述我正在为我的Android应用程序中的组件编写测试.该组件使用活动来制作一些报告.所以我需要一个活动来测试组件(丑陋的架构),我认为在测试项目中创建一个虚拟活动很容易,而不是创建从ActivityInstrumentationTestCase2<TestActivity>继承的测试,但由于某种原因我总是得到java.lang.

我正在为我的Android应用程序中的组件编写测试.该组件使用活动来制作一些报告.所以我需要一个活动来测试组件(丑陋的架构),我认为在测试项目中创建一个虚拟活动很容易,而不是创建从ActivityInstrumentationTestCase2< TestActivity>继承的测试,但由于某种原因我总是得到java .lang.RuntimeException:无法解析以下活动:Intent {act = androID.intent.action.MAIN flg = 0x10000000 cmp = com.xxx / .Testctivity}异常.

测试活动被添加到清单文件中,并且包似乎已正确设置.

我试图将它放在com.xxx(应用程序包)和com.xxx.test包中,没有运气.但是当我将TestActivity移动到目标应用程序时,一切正常.所以我开始想知道测试项目和我的应用程序之间的区别是什么,甚至可以在测试项目中进行活动.

解决方法:

是的,有可能但不推荐,如official dev guide中所述:

Once you have created a test project, you populate it with a test package. This package does not require an Activity, although you can define one if you wish. Although your test package can combine Activity classes, test case classes, or ordinary classes, your main test case should extend one of the AndroID test case classes or JUnit classes, because these provIDe the best testing features.

为此,您需要:

>在Test Project的AndroIDManifest.xml中定义您的虚拟活动.
>在Test中将instrumentation targetPackage指向更改为自身
Project的AndroIDManifest.xml. (被测试的Activity类必须
在仪器targetPackage下).

假设我有一个测试项目com.example.test包含两个类DummyActivity和DummyActivityTest,那么如果你想使用DummyActivityTest测试DummyActivity,你需要像下面这样定义Test Project的AndroIDManifest.xml:

<?xml version="1.0" enCoding="utf-8"?><manifest xmlns:androID="http://schemas.androID.com/apk/res/androID"    package="com.example.test"    androID:versionCode="1"    androID:versionname="1.0" ><uses-sdk androID:minSdkVersion="10" /><!-- targetPackage point to test project itself --><instrumentation    androID:name="androID.test.InstrumentationTestRunner"    androID:targetPackage="com.example.test" /><application    androID:icon="@drawable/ic_launcher"    androID:label="@string/app_name" >    <uses-library androID:name="androID.test.runner" />    <activity        androID:name=".DummyActivity"        androID:label="@string/app_name" >    </activity></application>
总结

以上是内存溢出为你收集整理的是否可以在Android测试项目中定义Activity并对其进行测试?全部内容,希望文章能够帮你解决是否可以在Android测试项目中定义Activity并对其进行测试?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1096805.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存