没有错误Android Studio说"没有找到测试"

Mon*_*ica 7 java testing android android-studio android-instrumentation

我正在尝试为我的MainActivity编写一个检测测试.我按照这里给出的答案.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();
    }
}
Run Code Online (Sandbox Code Playgroud)

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

Running tests
Test running startedFinish
Empty test suite.
Run Code Online (Sandbox Code Playgroud)

这是app的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'
}
Run Code Online (Sandbox Code Playgroud)

这是测试运行的输出:

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.
Run Code Online (Sandbox Code Playgroud)

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

Cod*_*ice 2

build.gradletestApplicationId看起来很奇怪。我会删除这个和testInstrumentationRunner. 默认值应该没问题。具体来说,如果您不指定testApplicationId,它将通过附加".test"到您的applicationId.

  • 您找到解决方案了吗?我面临同样的问题并且无法解决。 (4认同)