我想开始为我的应用程序编写单元测试,但我无法运行一个简单的测试.
我创建了一个小应用程序,只是为了尝试如何设置和运行单元测试,但实际上没有测试,我得到’空测试套件’.
我创建了一个小应用程序,只是为了尝试如何设置和运行单元测试,但实际上没有测试,我得到’空测试套件’.
我正在使用带有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()); } }
应用程序的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']) }
任何人都可以指出我做错了什么或我错过了什么?
我搜索过,但没有一个答案对我有帮助.
解决方法
构造函数应如下所示:
public MyActivityTest() { super(MyActivity.class); }
我需要学习不要过多依赖IDE提供构造函数的代码模板.
这得益于同事和http://siemprepreguntando.blogspot.de/2013/07/running-tests-test-running-startedtest.html的解决