当前位置: 首页 > 知识库问答 >
问题:

没有错误,Android Studio仍然表示“没有发现测试”

拓拔富
2023-03-14

我正试图为我的主要活动编写一个仪器测试。我遵循了这里给出的答案。但是Android Studio找不到任何测试。我在androidTest文件夹中有applicationTest.java类。以下是这堂课的内容:

package com.example.monicamarcus.mymusicplayer

import android.app.Activity;
import android.test.ActivityInstrumentationTestCase2;
import com.example.monicamarcus.mymusicplayer.MainActivity;

public class ApplicationTest extends ActivityInstrumentationTestCase2<MainActivity> { 
    public ApplicationTest() {
        super(MainActivity.class);
    }

    public void testNextTrackButton() throws Exception {
        Activity activity = getActivity();

        Button nextButton = (Button) activity.findViewById(R.id.nextTrackBt);
        activity.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                nextButton.performClick();
                assertTrue(currentPosition < songList.size());
            }});
        activity.finish();
    }
}

这个测试类出了什么问题?还是测试?我没有得到任何错误,它只是没有找到任何测试运行。运行ApplicationTest后,输出以以下行结束:

Running tests
Test running startedFinish
Empty test suite.

以下是该应用程序的build.gradle文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.example.monicamarcus.mymusicplayer"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        testApplicationId "app.src.androidTest.java.com.example.monicamarcus.mymusicplayer"
        testInstrumentationRunner "android.test.InstrumentationTestRunner"
    }
    buildTypes {
        debug {
            minifyEnabled false
        }
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

android {
    useLibrary 'org.apache.http.legacy'
}

android {

    sourceSets {

        androidTest {
            java.srcDirs = ['androidTest/java']
        }

    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    androidTestCompile 'junit:junit:4.12'
}

以下是测试运行的输出:

Testing started at 1:56 PM ...
Target device: gt_i8190n-4790068ee9a750c6
Installing APK: /Users/monicamarcus/AndroidStudioProjects/MyMusicPlayer/app/build/outputs/apk/app-debug.apk
Uploading file to: /data/local/tmp/com.example.monicamarcus.mymusicplayer
Installing com.example.monicamarcus.mymusicplayer
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.example.monicamarcus.mymusicplayer"
pkg: /data/local/tmp/com.example.monicamarcus.mymusicplayer
Success


Installing APK: /Users/monicamarcus/AndroidStudioProjects/MyMusicPlayer/app/build/outputs/apk/app-debug-androidTest-unaligned.apk
Uploading file to: /data/local/tmp/app.src.androidTest.java.com.example.monicamarcus.mymusicplayer
Installing app.src.androidTest.java.com.example.monicamarcus.mymusicplayer
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/app.src.androidTest.java.com.example.monicamarcus.mymusicplayer"
pkg: /data/local/tmp/app.src.androidTest.java.com.example.monicamarcus.mymusicplayer
Success


Running tests
Test running startedFinish
Empty test suite.

在我做了一些更改(如果有人感兴趣,我可以发布它们)之后,运行仪表测试类的结果如下:“运行测试。测试运行开始了。测试运行失败了:没有测试结果。空测试套件。”没有人有这种测试的经验?

共有1个答案

田兴旺
2023-03-14

build.gradle中,TestApplicationID看起来非常奇怪。我将删除它和TestInstrumentationRunner。默认值应该没问题。具体地说,如果您没有指定TestApplicationID,它将通过在ApplicationID后面追加“.test”来创建。

 类似资料:
  • 在macOS上运行docker mhart/alpine节点:8 (6.10.3-r0)(18/18)纱线0.24.6笑话20.0.4 但是,在运行代码时,我有一个_tests _/index.test.js文件 我得到以下输出 未找到测试 在 /usr/src/app 5文件检查。 testMatch: /__tests__//*. js?(X),**/?(*.)(spec|test). js?

  • CORS策略阻止从来源“http://localhost:3000”访问位于“http://localhost:8080/api”的XMLHttpRequest:请求的资源上没有“access-control-allog-origin”标头。 你知道吗?

  • 问题内容: 通过网络嵌套更新,打印“ abc已更新”,但实际值在Redis数据库中不更新。 注意:-上面的代码在localhost上有效,但更新未在heroku-redistogo上显示。 编辑:-我在本地主机上运行代码,redis连接到Redistogo。使用以下代码:- 设置快速会议:- 我还使用以下代码创建了另一个redisClient: 问题答案: 在Heroku上运行此代码时,您是否在控

  • 从https://projects.spring.io/spring-framework/,我有一个spring framework hellpworld程序。我删除了注释。然而,程序仍然可以像以前一样运行。为什么?这里的角色是什么?

  • 我有一个奇怪的问题。我在不同的模块中添加了一个接口,当我在我的IDE上运行它时,IDE编译正常,一切正常,但是当我执行时,我收到一个错误提示。这是的日志: 一句话是: 导入path.to.where.interface.lives.界面 我的界面如下: 我甚至将依赖项添加到包中,即所在的pom文件中,但我仍然看到了问题。

  • 当我像这样调用过程时 错误报告ORA-01403:找不到数据ORA-06512:at“apps.invoicedetails”,第5行ORA-06512:at第2行014 03。00000-“未找到数据”