Android Studio 运行单元测试显示 'Empty test suite'

标签 android unit-testing android-gradle-plugin

我想开始为我的应用程序编写单元测试,但我无法运行一个简单的测试。 我创建了一个小应用程序只是为了尝试如何设置和运行单元测试,但实际上没有运行任何测试,我得到“空测试套件”。

我正在使用带有 gradle 1.12 的 Android Studio 0.6.1

这是我的文件夹结构:

Folder structure

MyActivityTest.java

package com.vist.testableapp.tests;

import android.content.Intent;
import android.test.ActivityUnitTestCase;
import android.test.suitebuilder.annotation.SmallTest;
import android.widget.Button;

import com.vist.testableapp.MyActivity;
import com.vist.testableapp.R;

public class MyActivityTest extends ActivityUnitTestCase<MyActivity>
{
    public MyActivityTest(Class<MyActivity> activityClass)
    {
        super(activityClass);
    }
    Button btn1;

    @Override
    public void setUp() throws Exception
    {
        super.setUp();

        startActivity(new Intent(getInstrumentation().getTargetContext(), MyActivity.class), null, null);
        btn1 = (Button)getActivity().findViewById(R.id.button1);
    }

    @SmallTest
    public void testFirst()
    {
        assertEquals("Btn1",btn1.getText());
    }
}

应用程序的build.gradle

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion "19.1.0"

    defaultConfig {
        applicationId "com.vist.testableapp"
        minSdkVersion 15
        targetSdkVersion 15
        versionCode 1
        versionName "1.0"
        testApplicationId "com.vist.testableapp.tests"

    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

谁能指出我做错了什么或遗漏了什么? 我在 SO 中进行了搜索,但没有任何答案对我有帮助。

最佳答案

构造函数应该是这样的:

public MyActivityTest()
{
    super(MyActivity.class);
}

我需要学习不要过分依赖为构造函数提供参数的 IDE 代码模板。 感谢同事和http://siemprepreguntando.blogspot.de/2013/07/running-tests-test-running-startedtest.html解决了这个问题

关于Android Studio 运行单元测试显示 'Empty test suite',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24389782/

相关文章:

android - 如何查看Android Studio中Gradle任务执行的CLI命令?

android - fragment 中难以捉摸的 NullPointerException 仅当针对 API 19 运行时(18 工作正常。)

java - 如何在 Android 上的 Spinner 中使用 itemClickListener

java - void 方法的单元测试应该是什么样子?

c# - 在单元测试中模拟对话框

javascript - 在 Jest 中模拟全局变量

android - 基于 Gradle 中构建变体的不同可绘制对象

android - 安装了一个应用程序,在启动器中显示两个条目

android-studio - 编译Gradle错误 “name must not be null”

android - UnsupportedMethodException Android Studio 0.8.9