2015-02-09 51 views
1

我一直在尝试使用Android Studio和Gradle的单元测试,但现在我专注于使用./gradlew测试进行所有测试。问题是,我发现了以下错误从库项目:使用终端的gradle进行单元测试CI

/Users/Radsen/Projects/Mobile/AllianceTech/androidstudio/ATDroidUtils/app/src/test/java/com/alliancetech/ileadsalpha/ITEventsAPI.java:20: error: cannot find symbol 
    private MockContext context; 
      ^
    symbol: class MockContext 
    location: class ITEventsAPI 
/Users/Radsen/Projects/Mobile/AllianceTech/androidstudio/ATDroidUtils/app/src/test/java/com/alliancetech/ileadsalpha/ITAssociationAPI.java:19: error: cannot find symbol 
     RestClient rcAssociationsByEventID = new RestClient(""); 
     ^
    symbol: class RestClient 
    location: class ITAssociationAPI 
/Users/Radsen/Projects/Mobile/AllianceTech/androidstudio/ATDroidUtils/app/src/test/java/com/alliancetech/ileadsalpha/ITAssociationAPI.java:19: error: cannot find symbol 
     RestClient rcAssociationsByEventID = new RestClient(""); 
               ^
    symbol: class RestClient 
    location: class ITAssociationAPI 
/Users/Radsen/Projects/Mobile/AllianceTech/androidstudio/ATDroidUtils/app/src/test/java/com/alliancetech/ileadsalpha/ITEventsAPI.java:30: error: cannot find symbol 
     RestClient rcLeadsByEventID = new RestClient(base_url + "/rest/event/" + EVENT_ID); 
     ^
    symbol: class RestClient 
    location: class ITEventsAPI 
/Users/Radsen/Projects/Mobile/AllianceTech/androidstudio/ATDroidUtils/app/src/test/java/com/alliancetech/ileadsalpha/ITEventsAPI.java:30: error: cannot find symbol 
     RestClient rcLeadsByEventID = new RestClient(base_url + "/rest/event/" + EVENT_ID); 
             ^
    symbol: class RestClient 
    location: class ITEventsAPI 
/Users/Radsen/Projects/Mobile/AllianceTech/androidstudio/ATDroidUtils/app/src/test/java/com/alliancetech/ileadsalpha/ITEventsAPI.java:38: error: cannot find symbol 
     RestClient rcTagsCode = new RestClient(base_url + "/rest/event/tags"); 
     ^
    symbol: class RestClient 
    location: class ITEventsAPI 
/Users/Radsen/Projects/Mobile/AllianceTech/androidstudio/ATDroidUtils/app/src/test/java/com/alliancetech/ileadsalpha/ITEventsAPI.java:38: error: cannot find symbol 
     RestClient rcTagsCode = new RestClient(base_url + "/rest/event/tags"); 
            ^
    symbol: class RestClient 
    location: class ITEventsAPI 
/Users/Radsen/Projects/Mobile/AllianceTech/androidstudio/ATDroidUtils/app/src/test/java/com/alliancetech/ileadsalpha/ITEventsAPI.java:46: error: cannot find symbol 
     RestClient rcLeadEventsByTag = new RestClient(base_url + "/rest/eventtag/" + TAG + "/events"); 
     ^
    symbol: class RestClient 
    location: class ITEventsAPI 
/Users/Radsen/Projects/Mobile/AllianceTech/androidstudio/ATDroidUtils/app/src/test/java/com/alliancetech/ileadsalpha/ITEventsAPI.java:46: error: cannot find symbol 
     RestClient rcLeadEventsByTag = new RestClient(base_url + "/rest/eventtag/" + TAG + "/events"); 

这里是我的build.gradle

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.2" 
    defaultConfig { 
     applicationId "com.alliancetech.ileadsalpha" 
     minSdkVersion 15 
     targetSdkVersion 20 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    productFlavors { 
    } 

    sourceSets { 
     instrumentTest.setRoot('src/test') 
    } 
} 

sourceSets { 
    unitTest { 
     java.srcDir file('src/test') 
     resources.srcDir file('src/test/resources') 
    } 
} 

configurations{ 
    unitTestCompile.extendsFrom runtime 
    unitTestRuntime.extendsFrom unitTestCompile 
} 

dependencies { 
    compile 'junit:junit:4.12' 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:21.0.3' 
    compile 'com.google.android.gms:play-services:6.5.87' 
    compile 'com.googlecode.json-simple:json-simple:1.1' 
    compile 'org.roboguice:roboguice:2.0' 
    compile project(':atdroidutilslib') 

    //unitTestCompile 'junit:junit:4.12' 
    //unitTestCompile 'com.googlecode.json-simple:json-simple:1.1' 
    unitTestCompile "org.apache.httpcomponents:httpmime:4.2.3" 
    unitTestCompile project(':atdroidutilslib') 
} 

task iLeadsIntegrationTests(type:Test, dependsOn: assemble) { 
    testClassesDir = project.sourceSets.unitTest.output.classesDir 
    classpath = project.sourceSets.unitTest.runtimeClasspath 
} 
check.dependsOn iLeadsIntegrationTests 

回答

0

对这个近2日工作后,我决定重试我看到的一些帖子和这个帮助我解决了我的问题。这里是链接: http://tools.android.com/tech-docs/unit-testing-support

+0

你做了什么来解决你的问题? – 2015-03-08 04:50:57

+0

为了解决我在这里遇到的问题,我遵循了我从另一个答案发布的链接。但我有其他人使用它从詹金斯。你能告诉我你是否有能力使用控制台从工作站上运行测试吗? – Dyan 2015-03-09 18:40:42