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)
任何人都可以指出我做错了什么或我错过了什么?我搜索过,但没有一个答案对我有帮助.
构造函数应如下所示:
public MyActivityTest()
{
super(MyActivity.class);
}
Run Code Online (Sandbox Code Playgroud)
我需要学习不要过多依赖IDE提供构造函数的代码模板.感谢一位同事和http://siemprepreguntando.blogspot.de/2013/07/running-tests-test-running-startedtest.html解决了这个问题.
| 归档时间: |
|
| 查看次数: |
12328 次 |
| 最近记录: |