Eclipse Android单元测试测试运行失败:没有测试结果

时间:2018-10-22 20:52:04

标签: java android eclipse unit-testing owncloud

我目前正在使用ADT在Eclipse(2018-09)中处理旧版Android项目,该项目使用ownCloud库将文件上传和下载到ownCloud实例。我正在尝试实施一些UI单元测试,以执行一些基本的UI操作,例如单击按钮等。

我已经在Eclipse工作区中创建了一个测试项目,其名称为要测试的项目,后缀为“ test”(根据本教程https://stuff.mit.edu/afs/sipb/project/android/docs/tools/testing/activity_test.html

  • MyProject
  • MyProjectTest

我有一个简单的测试类,如下所示:

package com.mynamespace.test;

import com.mynamespace.activity.MainActivity;

import android.test.ActivityInstrumentationTestCase2;
import android.test.suitebuilder.annotation.SmallTest;
import android.widget.Button;

public class TransmissionTests extends ActivityInstrumentationTestCase2<MainActivity> {

    private Button upload1Button = null;
    private Button upload2Button = null;
    private Button download1Button = null;
    private Button download2Button = null;

    private MainActivity mainActivity = null;

    public TransmissionTests(Class<MainActivity> name) {
        super(name);
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();
        mainActivity = getActivity();

        upload1Button = mainActivity.getButtonUpload1();
        upload2Button = mainActivity.getButtonUpload2();
        download1Button = mainActivity.getButtonDownload1();
        download2Button = mainActivity.getButtonDownload2();
    }

    @Override
    protected void tearDown() throws Exception {
        super.tearDown();

    }

    @SmallTest
    public void testUpload1(){
        assertTrue("this is a test", true);

    }
}

TestProject中的AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.mynamespace.test"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="21" />

    <instrumentation
        android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="com.mynamespace" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <uses-library android:name="android.test.runner" />
    </application>

</manifest>

现在,当我运行测试项目时,我希望运行测试方法testUpload1并在Eclipse中显示结果。但是我得到的只是控制台视图中的以下错误:

[2018-10-22 17:22:04 - MyProjectTest] Launching instrumentation android.test.InstrumentationTestRunner on emulator-5554
[2018-10-22 17:22:06 - MyProjectTest] Test run failed: No test results

当我查看模拟器的logcat(adb logcat)时,我看到有很多java.lang.ClassNotFoundException抱怨找不到org.apache.jackrabbit.webdav库中的类。

原始项目使用以下附加库:

  • android-support-v4.jar
  • commons-httpclient-3.1.jar
  • jackrabbit-webdav-2.10.1.jar
  • ownCloud-Android-lib-release-0.9.20.jar
  • slf4j-api-1.7.5.jar

我是否需要以某种方式将这些库添加到测试项目的构建路径中?我已经尝试通过复制和粘贴将它们添加到项目中,但是似乎不起作用。

我觉得解决方案非常简单,但是我缺少重要的提示。有人可以帮我吗?

预先感谢

此致

迈克尔

0 个答案:

没有答案