2012-11-19 2 views
2

프로젝트에서 기능 테스트를위한 소스 세트를 설정했습니다. junit 테스트 보고서 생성을 제외하고 모든 것이 예상대로 작동합니다. 내가 누락 된 구성 비트를 볼 수 없습니다. 여기에 내가 무엇을 가지고 있습니다 :사용자 정의 소스 세트에 대한 junit 테스트 결과 보고서를 gradle에서 생성하는 방법은 무엇입니까?

sourceSets { 
    // Note that just declaring this sourceset creates two configurations. 
    funcTest { 
     scala { 
      srcDir 'src/funcTest/scala' 
      compileClasspath += main.output 
      runtimeClasspath += main.output 
     } 
    } 
} 

configurations { 
    funcTestCompile.extendsFrom testCompile 
    funcTestRuntime.extendsFrom testRuntime 
} 

task funcTest(type:Test){ 
    description = "Run integration tests (located in src/funcTest/...)." 
    testClassesDir = project.sourceSets.funcTest.output.classesDir 
    testSrcDirs = project.sourceSets.funcTest.scala.source 
    classpath = project.sourceSets.funcTest.runtimeClasspath 
    dependsOn test 
} 

위의 테스트를 빌드하고 실행합니다. 그러나 보고서 디렉토리 구조는 다음과 같습니다.

./build/reports/tests/No source file found at src/test/scala/com/hp/snapfish/ecommerce/taxservice/mongo/base-style.css 
./build/reports/tests/No source file found at src/test/scala/com/hp/snapfish/ecommerce/taxservice/mongo/css3-pie-1.0beta3.htc 
./build/reports/tests/No source file found at src/test/scala/com/hp/snapfish/ecommerce/taxservice/mongo/MongoConfigTest.html 
./build/reports/tests/No source file found at src/test/scala/com/hp/snapfish/ecommerce/taxservice/mongo/MongoConfigTest.scala.html 
./build/reports/tests/No source file found at src/test/scala/com/hp/snapfish/ecommerce/taxservice/mongo/report.js 
./build/reports/tests/No source file found at src/test/scala/com/hp/snapfish/ecommerce/taxservice/mongo/style.css 

무엇이 누락 되었습니까? 왜

없음 소스 파일이

디렉토리 SRC에서 발견 만들고있다? 나는 그것이 scala 파일을 찾아야한다는 것을 알아야한다고 생각하지만, 그것을 어떻게 말해야할지 모르겠다. 나는 명백한 것을 놓치고 있어야합니다.

답변

2

당신의 build.gradle 파일에서이 같은 시도 : 프로젝트 루트/빌드/테스트 결과 :

test { 
    testLogging { 
     // log results to "build/test-results" directory 
     exceptionFormat "full" 
     events "started", "passed", "skipped", "failed", "standardOut", "standardError" 
    } 
} 

그런 다음 같은 위치에 출력을 찾아야한다. "main"소스 트렁크에서 이것을 수행하는 방법을 잘 모르겠지만 "test"트렁크에서 작동합니다. 단위 테스트를 받았다면이 방법을 시도해보고 더 좋은 아이디어를 얻을 수 있습니다.

+0

'testLogging'은 콘솔 출력에만 영향을줍니다. –

+1

"testLogging"이 작동하려면 어떤 플러그인이 필요합니까? android-test (junit)를 사용하는 동안 build.gradle에서 정확한 코드를 사용할 때 "method testLogging을 찾을 수 없습니다."라는 메시지가 나타납니다. –

2

"소스 파일을 찾을 수 없음"은 어디서 왔는지 알 수 없지만 testResultsDir (XML) 및 testReportDir (HTML)으로 설정하려고합니다. 어쨌든이 파일을 설정해야합니다. 그렇지 않으면 test 작업에서 생성 된 파일을 덮어 씁니다.

reports.junitXml.destination = "$buildDir/test-results/TaskName" 
reports.html.destination = "$buildDir/test-results/TaskName"