2016-07-26 4 views
0

Maven으로 Spek 테스트를 실행하려고합니다. 나는 다음과 같이 maven을 설정했다.Maven으로 Spek 테스트를 실행하는 방법?

<build> 
     <sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory> 
     <testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory> 

     <plugins> 
      <plugin> 
       <artifactId>kotlin-maven-plugin</artifactId> 
       <groupId>org.jetbrains.kotlin</groupId> 
       <version>${kotlin.version}</version> 

       <configuration/> 
       <executions> 
        <execution> 
         <id>compile</id> 
         <phase>compile</phase> 
         <goals> 
          <goal>compile</goal> 
         </goals> 
        </execution> 
        <execution> 
         <id>test-compile</id> 
         <phase>test-compile</phase> 
         <goals> 
          <goal>test-compile</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 

또한 src/test/kotlin에서 몇 가지 Spek 테스트가있다. IDE에서 이걸 실행할 수 있지만, mvn test을 실행하면 확실한 플러그인에 의해 완전히 무시됩니다 (0 테스트가 실행되는 것으로보고됩니다). maven을 사용하여 Spek 테스트를 실행할 수 있습니까? 그렇다면 어떻게 설정합니까? 나는 spek 홈페이지에서 아무 것도 찾을 수 없습니다.

답변

2

you can find on GitLab.com 작은 샘플 프로젝트로 문제를 재현 할 수 있습니다. 당신이 mvn clean test을 실행하면

, 확실한 어떤 테스트를 찾을 수 없습니다 :

[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ spek-maven-sample --- 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 5.074 s 
[INFO] Finished at: 2016-07-27T00:49:14+02:00 
[INFO] Final Memory: 36M/363M 
[INFO] ------------------------------------------------------------------------ 

이 명시 적으로 확실한 플러그인에서 테스트 사양을 포함하여 우회 할 수 있습니다. 모든 사양은 다음 명시 적으로 pom.xml에 확실한 구성, *Spec.* 명명 된, 말 :

<build> 
    <plugins> 
     <!-- other build plugins like the kotlin-maven-plugin --> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.12.4</version> 
      <configuration> 
       <includes> 
        <include>**/*Spec.*</include> 
       </includes> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

당신은 전체 작업 예를 언급 저장소의 on the branch "explicit-surefire-config"을 찾을 수 있습니다 실행 테스트

[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ spek-maven-sample --- 
[INFO] Surefire report directory: C:\Dev\IDEA\spek-test\target\surefire-reports 

------------------------------------------------------- 
T E S T S 
------------------------------------------------------- 
Running NonsenseTestableSpec 
Proof that 'should return true' ran 
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.077 sec 

Results : 

Tests run: 3, Failures: 0, Errors: 0, Skipped: 0 

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 6.335 s 
[INFO] Finished at: 2016-07-27T01:02:12+02:00 
[INFO] Final Memory: 26M/363M 
[INFO] ------------------------------------------------------------------------ 

으로 이어질 것입니다.

+0

위대한, 그 트릭도 나를 위해 않았다. 고마워요! –

관련 문제