Android Studio运行单元测试显示'空测试套件'

hel*_*eye 6 android unit-testing android-gradle-plugin

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

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

这是我的文件夹结构:

文件夹结构

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

应用程序的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'])
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以指出我做错了什么或我错过了什么?我搜索过,但没有一个答案对我有帮助.

hel*_*eye 6

构造函数应如下所示:

public MyActivityTest()
{
    super(MyActivity.class);
}
Run Code Online (Sandbox Code Playgroud)

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