2017-06-15 15 views
0

STSでユニットテストを実行するにはどうすればいいですか?mvn test bashでエラーが発生します。 Groovyライブラリはクラスパスにあります。私はまた、mvn testとspock testがどのように違うのか興味があります。ピックアップのテストをmvnできないのですか?Spockユニットテストは動作しますが、mvnテストは実行されません

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test (default-test) on project purple: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test failed: There was an error in the forked process 
[ERROR] java.lang.NoClassDefFoundError: groovy/lang/GroovyObject 
[ERROR]  at java.lang.ClassLoader.defineClass1(Native Method) 
[ERROR]  at java.lang.ClassLoader.defineClass(ClassLoader.java:760) 
[ERROR]  at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
[ERROR]  at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) 
[ERROR]  at java.net.URLClassLoader.access$100(URLClassLoader.java:73) 
[ERROR]  at java.net.URLClassLoader$1.run(URLClassLoader.java:368) 
[ERROR]  at java.net.URLClassLoader$1.run(URLClassLoader.java:362) 
[ERROR]  at java.security.AccessController.doPrivileged(Native Method) 
[ERROR]  at java.net.URLClassLoader.findClass(URLClassLoader.java:361) 
[ERROR]  at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
[ERROR]  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
[ERROR]  at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
[ERROR]  at org.apache.maven.surefire.util.DefaultScanResult.loadClass(DefaultScanResult.java:131) 
[ERROR]  at org.apache.maven.surefire.util.DefaultScanResult.applyFilter(DefaultScanResult.java:95) 
[ERROR]  at org.apache.maven.surefire.junit4.JUnit4Provider.scanClassPath(JUnit4Provider.java:222) 
[ERROR]  at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:107) 
[ERROR]  at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203) 
[ERROR]  at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155) 
[ERROR]  at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) 
[ERROR] Caused by: java.lang.ClassNotFoundException: groovy.lang.GroovyObject 
[ERROR]  at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
[ERROR]  at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
[ERROR]  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
[ERROR]  at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
[ERROR]  ... 19 more 
[ERROR] 
[ERROR] -> [Help 1] 

のpom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>org.springframework</groupId> 
    <artifactId>purple</artifactId> 
    <version>0.1.0</version> 

    <properties> 
     <java.version>1.8</java.version> 
     <gmaven-plugin.version>1.4</gmaven-plugin.version> 
     <groovy.version>2.4.0</groovy.version> 
     <spock.core.version>1.0-groovy-2.4</spock.core.version> 
    </properties> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.5.3.RELEASE</version> 
    </parent> 

    <dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-hateoas</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-data-jpa</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>com.h2database</groupId> 
      <artifactId>h2</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>com.jayway.jsonpath</groupId> 
      <artifactId>json-path</artifactId> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.spockframework</groupId> 
      <artifactId>spock-core</artifactId> 
      <version>${spock.core.version}</version> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
      <plugin> 
       <groupId>org.codehaus.gmaven</groupId> 
       <artifactId>groovy-maven-plugin</artifactId> 
       <version>1.5</version> 
       <dependencies> 
        <dependency> 
         <groupId>org.codehaus.groovy</groupId> 
         <artifactId>groovy-all</artifactId> 
         <version>${groovy.version}</version> 
        </dependency> 
       </dependencies> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <configuration> 
        <includes> 
         <include>**/*Test.class</include> 
         <include>**/*Spec.class</include> 
        </includes> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

    <repositories> 
     <repository> 
      <id>spring-releases</id> 
      <url>https://repo.spring.io/libs-release</url> 
     </repository> 
    </repositories> 
    <pluginRepositories> 
     <pluginRepository> 
      <id>spring-releases</id> 
      <url>https://repo.spring.io/libs-release</url> 
     </pluginRepository> 
    </pluginRepositories> 
</project> 

enter image description hereenter image description hereenter image description here

答えて

2

あなたがグルーヴィーライブラリがかなり古くなっても、gmavenプラスプラグインを使用する必要があります。

<plugin> 
     <!-- The gmavenplus plugin is used to compile Groovy code. To learn more about this plugin, 
     visit https://github.com/groovy/GMavenPlus/wiki --> 
     <groupId>org.codehaus.gmavenplus</groupId> 
     <artifactId>gmavenplus-plugin</artifactId> 
     <version>1.5</version> 
     <executions> 
      <execution> 
      <goals> 
       <goal>compile</goal> 
       <goal>testCompile</goal> 
      </goals> 
      </execution> 
     </executions> 
</plugin> 

spock-example公式のプロジェクトをチェックしてください。

関連する問題