2014-03-24 3 views
1

У меня есть следующий модульный тест, который я могу выполнить отлично в студии Android, но я пытаюсь настроить его для непрерывной интеграции, поэтому мне понадобится градиль, чтобы иметь возможность запускать его.Android: модульное тестирование с градиентом

package com.smartsocialmedia.tests; 

import android.test.InstrumentationTestCase; 

import com.smartsocialmedia.utility.DbConnector; 

import org.apache.http.message.BasicNameValuePair; 
import org.json.JSONObject; 

import java.util.ArrayList; 

public class MainTest extends InstrumentationTestCase 
{ 
/* 
* Testing DbConnector 
* public JSONObject getJsonObject(ArrayList<BasicNameValuePair> params, boolean isGet) 
* pass false as second parameter if GET is to be used rather than POST 
* in this case we are calling auth/login in the API 
*/ 
public void testGETJSONOBJECT() throws Exception { 
    //Create an ArrayList of BasicNameValuePair to represent the login information. 
    ArrayList<BasicNameValuePair> postParams = new ArrayList<BasicNameValuePair>(); 
    postParams.add(new BasicNameValuePair("eMail", "myemail")); 
    postParams.add(new BasicNameValuePair("Password", "mypassword")); 
    DbConnector db = new DbConnector("auth/login"); 

    JSONObject jsonObject = db.getJsonObject(postParams, false); 

    //check that the server response is a jsonObject 
    assertNotNull(jsonObject); 
    //check that we have expected parameters in the response 
    int valid = jsonObject.getInt("valid"); 
    assertEquals(valid, 1); 
} 
} 

Basically./gradlew ничего не делать с этим тестом ... Мне нужно знать, что мне нужно изменить в Gradle для того, чтобы работать.

buildscript { 
repositories { 
    mavenCentral() 
} 
    dependencies { 
    classpath 'com.android.tools.build:gradle:0.9.+' 
    } 
} 
apply plugin: 'android' 

repositories { 
    mavenCentral() 
} 

android { 
    compileSdkVersion 19 
    buildToolsVersion '19.0.0' 

    lintOptions { 
     checkReleaseBuilds false 
     // Or, if you prefer, you can continue to check for errors in release builds, 
     // but continue the build even when errors are found: 
     abortOnError false 
    } 

defaultConfig { 
    minSdkVersion 14 
    targetSdkVersion 19 
    versionCode 7 
    versionName "1.0.5" 
    testPackageName "com.smartsocialmedia.tests" 
} 

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

dependencies { 
    compile 'com.android.support:support-v4:18.0.0' 
    compile 'org.apache.httpcomponents:httpmime:[email protected]' 
    compile 'com.github.chrisbanes.actionbarpulltorefresh:library:+' 
    compile files('libs/universal-image-loader-1.9.1-with-sources.jar') 
} 
+0

вы пробовали gradlew connectedAndroidTest? – Mick

+0

Какую задачу градиента вы используете? connectedCheck проведет тесты в/androidTest /, если все будет на месте. –

+0

@ ed209 Вы поняли это? –

ответ

0

Вы должны иметь по крайней мере 1.1.0-rc1 (2015/02/02) андроида Gradle плагин

поддержки Модульное тестирование. Код модульного тестирования запускается на локальной JVM против специальной версии android.jar, которая совместима с популярными фальшивыми фреймворками (например, Mockito).

http://tools.android.com/tech-docs/new-build-system

+0

Это просто для модульных тестов, запущенных на вашей локальной JVM. Инструмент InstrumentationTestCase запускается на устройстве. –

Смежные вопросы