测试运行失败:仪器仪表运行失败,原因是“过程坠毁。”测试多个机器人活动时,

编程入门 行业动态 更新时间:2024-10-09 05:13:11
本文介绍了测试运行失败:仪器仪表运行失败,原因是“过程坠毁。”测试多个机器人活动时,的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个问题,我的测试Android应用程序。 我有2 TestCase类,如果我单独执行它们,是没有问题的,测试运行,直到结束。但是,如果我愿意用鼠标右键单击我的测试项目,并选择为Android的JUnit测试运行我有一个消息

启动仪器android.test.InstrumentationTestRunner在设备模拟器-5554  [2012-03-27十五点56分27秒 - matroussedemaquillageTest]收集考试信息  [2012-03-27 15点56分三十一秒 - matroussedemaquillageTest]试运行失败:仪器仪表运行失败,原因是过程坠毁。

参见下文为我的两个testClasses:

第一个测试类

包fr.smardine.matroussedemaquillage.test; 进口android.test.ActivityInstrumentationTestCase2; 进口android.widget.ImageSwitcher; 进口fr.smardine.matroussedemaquillage.EntryPoint; 公共类EntryPointTest扩展     ActivityInstrumentationTestCase2<入口点> { 私人入口点mActivity;     私人ImageSwitcher mSwitcher;     公共EntryPointTest(){         超(fr.smardine.matroussedemaquillage                 fr.smardine.matroussedemaquillage.EntryPoint.class);     }     @覆盖     保护无效设置()抛出异常{         super.setUp();     }     @覆盖     保护无效tearDown的()抛出异常{         super.tearDown();     }     公共无效的test2(){         的assertEquals(2,2);     } }

和第二个:

包fr.smardine.matroussedemaquillage.test; 进口android.test.ActivityInstrumentationTestCase2; 进口android.widget.ImageView; 进口fr.smardine.matroussedemaquillage.Main; 公共类MainTest扩展ActivityInstrumentationTestCase2<主> {     私人主营mActivity;     私人ImageView的btRemplir;     私人ImageView的btPerime;     私人ImageView的btNotes;     公共MainTest(){         超(fr.smardine.matroussedemaquillage                 fr.smardine.matroussedemaquillage.Main.class);     }     @覆盖     保护无效设置()抛出异常{         super.setUp();     }     @覆盖     保护无效tearDown的()抛出异常{         super.tearDown();     }     公共无效的test1(){         的assertEquals(1,1);     } }

正如你可以看到我的测试都没有这么复杂,即使我消灭用户数据当我启动我的模拟器,有相同的消息,如果我执行两个测试。 哦,顺便说一句,在Android 2.1系统上运行的模拟器,这是我的Andr​​oidManifest.xml文件:

< XML版本=1.0编码=UTF-8&GT?; <舱单的xmlns:机器人=htt​​p://schemas.android/apk/res/android 包=fr.smardine.matroussedemaquillage.test 安卓版code =1 机器人:VERSIONNAME =1.0> <使用-SDK安卓的minSdkVersion =7安卓targetSdkVersion =7/> <仪器仪表     机器人:名称=android.test.InstrumentationTestRunner     机器人:targetPackage =fr.smardine.matroussedemaquillage/> <应用     机器人:图标=@可绘制/ ic_launcher     机器人:标签=@字符串/ APP_NAME>     <使用库机器人:名称=android.test.runner/> < /用途> < /舱单>

编辑: 我的日志猫:

I / ActivityManager(64):启动PROC fr.smardine.matroussedemaquillage的增值应用fr.smardine.matroussedemaquillage:PID = 510 UID = 10029导报= {3003,1015} D / DDM堆(510):GOT功能列表请求D / dalvikvm(510):GC释放5427对象/ 420224字节90毫秒 D / dalvikvm(510):GC释放6498的对象/在79ms 506616字节 D / dalvikvm(510):GC释放7048对象/在90毫秒567464字节 D / dalvikvm(510):GC释放8628的对象/在73ms 503840字节 我/的System.out(510):无法打开test.properties I / AndroidRuntime(510):AndroidRuntime onExit调用exit(-1) - D /合子(30):过程510退出干净(255) I / ActivityManager(64):过程fr.smardine.matroussedemaquillage(PID 510)已经死亡。 W / ActivityManager(64):的应用程序fr.smardine.matroussedemaquillage运行仪器ComponentInfo崩溃{fr.smardine.matroussedemaquillage.test / android.test.Instrumentatio nTestRunner} D / ActivityManager(64):卸载过程fr.smardine.matroussedemaquillage D / AndroidRuntime(504):关闭虚拟机 D / dalvikvm(504):DestroyJavaVM等非守护线程退出 D / dalvikvm(504):DestroyJavaVM关闭VM下来 D / dalvikvm(504):HeapWorker螺纹关停 D / dalvikvm(504):HeapWorker线程已关闭 D / JDWP(504):JDWP关闭网... D / JDWP(504):GOT唤醒信号,救助的选择了 I / dalvikvm(504):调试器分离;对象注册了1项 D / dalvikvm(504):虚拟机清理 D / dalvikvm(504):为0x0 LinearAlloc使用643668的5242880(12%) I / dalvikvm(504):JNI:(来自??? ???)AttachCurrentThread E / AndroidRuntime(504):错误:线程附加失败

解决方案

我曾经得到这个错误,当我使用System.exit(0),在我的测试活动的onFinish象下面这样:

@覆盖     公共无效结束(){         super.finish();         System.exit(0);     }

因此​​,检查您的主要活动的onFinish方法。

I've got an issue with testing my android application. I have 2 testCase class, if I execute them separately, there is no problem, the tests run until the end. But if I do "right-click" on my test project and choose "Run as Android Junit Test" I've got a message

Launching instrumentation android.test.InstrumentationTestRunner on device emulator-5554 [2012-03-27 15:56:27 - matroussedemaquillageTest] Collecting test information [2012-03-27 15:56:31 - matroussedemaquillageTest] Test run failed: Instrumentation run failed due to 'Process crashed.'

see bellow for my two testClasses:

the first test class

package fr.smardine.matroussedemaquillage.test; import android.test.ActivityInstrumentationTestCase2; import android.widget.ImageSwitcher; import fr.smardine.matroussedemaquillage.EntryPoint; public class EntryPointTest extends ActivityInstrumentationTestCase2<EntryPoint> { private EntryPoint mActivity; private ImageSwitcher mSwitcher; public EntryPointTest() { super("fr.smardine.matroussedemaquillage", fr.smardine.matroussedemaquillage.EntryPoint.class); } @Override protected void setUp() throws Exception { super.setUp(); } @Override protected void tearDown() throws Exception { super.tearDown(); } public void test2() { assertEquals(2, 2); } }

and the second:

package fr.smardine.matroussedemaquillage.test; import android.test.ActivityInstrumentationTestCase2; import android.widget.ImageView; import fr.smardine.matroussedemaquillage.Main; public class MainTest extends ActivityInstrumentationTestCase2<Main> { private Main mActivity; private ImageView btRemplir; private ImageView btPerime; private ImageView btNotes; public MainTest() { super("fr.smardine.matroussedemaquillage", fr.smardine.matroussedemaquillage.Main.class); } @Override protected void setUp() throws Exception { super.setUp(); } @Override protected void tearDown() throws Exception { super.tearDown(); } public void test1() { assertEquals(1, 1); } }

As you can see my test are not so complicated, even if i "wipe user data" when I launch my emulator, there is the same message if I execute the two tests. Oh, by the way, the emulator run under android 2.1 and this is my AndroidManifest.xml file:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="schemas.android/apk/res/android" package="fr.smardine.matroussedemaquillage.test" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="7" /> <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="fr.smardine.matroussedemaquillage" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <uses-library android:name="android.test.runner" /> </application> </manifest>

Edit: my log cat:

I/ActivityManager(64): Start proc fr.smardine.matroussedemaquillage for added application fr.smardine.matroussedemaquillage: pid=510 uid=10029 gids={3003, 1015} D/ddm-heap(510): Got feature list request D/dalvikvm(510): GC freed 5427 objects / 420224 bytes in 90ms D/dalvikvm(510): GC freed 6498 objects / 506616 bytes in 79ms D/dalvikvm(510): GC freed 7048 objects / 567464 bytes in 90ms D/dalvikvm(510): GC freed 8628 objects / 503840 bytes in 73ms I/System.out(510): Failed to open test.properties I/AndroidRuntime(510): AndroidRuntime onExit calling exit(-1) – D/Zygote(30): Process 510 exited cleanly (255) I/ActivityManager(64): Process fr.smardine.matroussedemaquillage (pid 510) has died. W/ActivityManager(64): Crash of app fr.smardine.matroussedemaquillage running instrumentation ComponentInfo{fr.smardine.matroussedemaquillage.test/android.test.Instrumentatio‌​nTestRunner} D/ActivityManager(64): Uninstalling process fr.smardine.matroussedemaquillage D/AndroidRuntime(504): Shutting down VM D/dalvikvm(504): DestroyJavaVM waiting for non-daemon threads to exit D/dalvikvm(504): DestroyJavaVM shutting VM down D/dalvikvm(504): HeapWorker thread shutting down D/dalvikvm(504): HeapWorker thread has shut down D/jdwp(504): JDWP shutting down net... D/jdwp(504): Got wake-up signal, bailing out of select I/dalvikvm(504): Debugger has detached; object registry had 1 entries D/dalvikvm(504): VM cleaning up D/dalvikvm(504): LinearAlloc 0x0 used 643668 of 5242880 (12%) I/dalvikvm(504): JNI: AttachCurrentThread (from ???.???) E/AndroidRuntime(504): ERROR: thread attach failed'

解决方案

I used to get this error when I used System.exit(0) on my test Activity's onFinish like below:

@Override public void finish() { super.finish(); System.exit(0); }

So check your Main activity's onFinish method.

更多推荐

测试运行失败:仪器仪表运行失败,原因是“过程坠毁。”测试多个机器人活动时,

本文发布于:2023-11-25 06:28:42,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1628672.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:测试   多个   仪器仪表   机器人   原因

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!