2016-08-17 2 views
2

Android Studio의 [빌드 변형]보기에 'Unit Tests'옵션이 포함 된 간단한 시간이 있었는데,이 옵션을 선택하면 쉽게 기본 단위 테스트는 Android 클래스에서 테스트 클래스를 선택하고 '실행'을 누르기 만하면됩니다. 그런 다음 Android Studio 2.0이 출시되었을 때 빌드 변형 메뉴에서 해당 옵션을 제거했다고 생각합니다. 모든 문서에서 테스트 클래스를 마우스 오른쪽 버튼으로 클릭하고 'RUN'이라고 말할 수 있다고 말합니다.하지만 그렇게 할 때마다 계측기 테스트를위한 배포 대상을 선택하라는 메시지가 표시되며 그 대상에 관심이 없습니다. 내가 여기서 뭔가를 놓치고 있니? Android Studio 2.1.3에서 기본 단위 테스트를 어떻게 실행합니까? 당신은 src/test/에보고 재정의 androidTest sourceset이Android Studio 2.1.3에서 간단한 junit 테스트를 실행하는 방법

android { 
compileSdkVersion project.COMPILE_SDK_VERSION.toInteger() 
buildToolsVersion project.BUILD_TOOLS_VERSION 

defaultConfig { 
    minSdkVersion project.SDK_MIN_VERSION_LIBRARY 
    targetSdkVersion project.COMPILE_SDK_VERSION.toInteger() 
    versionName project.VERSION_NAME 
    versionCode project.VERSION_CODE.toInteger() 


} 
lintOptions { 
    abortOnError false 
} 
buildTypes { 
    debug{ 
     versionNameSuffix = "DEBUG" 
    } 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
sourceSets { 
    androidTest { 
     setRoot('src/test') 
     java.srcDir file('src/test/java') 
     resources.srcDir file('src/test/resources') 
    } 

} 
testOptions { 
    unitTests.returnDefaultValues = true 
} 
android.testOptions.unitTests.all { 
    // Configure includes/excludes 
    include '**/*Test.class' 
    exclude '**/espresso/**/*.class' 

    // Configure max heap size of the test JVM 
    maxHeapSize = '2048m' 

    // Configure the test JVM arguments - Does not apply to Java 8 
    jvmArgs '-XX:MaxPermSize=4096m', '-XX:-UseSplitVerifier' 

    // Specify max number of processes (default is 1) 
    maxParallelForks = 4 

    // Specify max number of test classes to execute in a test process 
    // before restarting the process (default is unlimited) 
    forkEvery = 250 

    // configure whether failing tests should fail the build 
    ignoreFailures false 

    // use afterTest to listen to the test execution results 
    afterTest { descriptor, result -> 
     println "Executing test for ${descriptor.parent}: ${descriptor.name} with result: ${result.resultType}" 
    } 
} 

}

+0

"Android Studio 2.1.3에서 기본 단위 테스트를 어떻게 실행합니까?" - 당신이 설명했던 것 (클래스를 오른쪽 클릭하고 Run을 선택)을하거나, 클래스 선언 옆에있는 편집기에서 거터 아이콘을 클릭하십시오. "하지만 그럴 때마다 계측기 테스트를위한 배포 대상을 선택하라는 메시지가 표시됩니다."- 모듈의'test /'소스 세트에있는 단위 테스트입니까? 당신은'build.gradle'에서 깔깔 한 것을 던집니다. – CommonsWare

+0

아 ... 예, 했어요! 몇 년 전에 필요한 코드가있었습니다. 내 질문을 관련 코드로 업데이트했습니다. 문제가 보이십니까? – JohnRock

답변

2

:

는 내가 단위 테스트를 실행하기 이전에 필요했던 코드가 포함되어 내 현재 build.gradle에서 발췌 한 것입니다. 따라서 Gradle은 test/ 코드가 계측 테스트를 대표한다고 생각합니다.

전체 sourceSets 블록을 제거해야합니까?

이상적으로, 당신은 주식 구성을 따르 androidTest/는 계측 테스트를 보유하고, test/는 단위 테스트를 보유하고 있습니다.

다른 것을 원한다면 괜찮습니다. 그러나 계측 테스트 클래스를 마우스 오른쪽 버튼으로 클릭하고 실행을 선택하면 계측 테스트가 실행됩니다. 따라서 androidTest/에 단위 테스트를 보유하고 instrumentationTestBecauseLongDirectoryNamesAreFun/에 계측 테스트를 유지하려면 괜찮 으면 좋겠지 만 자신의 위치를 ​​추적해야합니다.

따라서 sourceSets 클로저를 없애거나 계측 테스트 및 단위 테스트를 원하는 곳을 반영하여 업데이트 할 수 있습니다.

+0

물론. 나는 sourceSets 클로저를 삭제하여 표준 설정과 함께 가고 모든 것이 작동 중이다. 고맙습니다. – JohnRock

관련 문제