在IntelliJ中启动单个测试时系统中断

时间:2015-03-24 15:37:32

标签: spring maven intellij-idea spock

我有使用Spring,Hibernate,Maven联合构建(Java + Groovy)的复杂Web应用程序,在Spock中使用测试和不同的Maven配置文件。所有源文件都是Java。我有Maven配置(部分)用于本地测试:

 <plugin>
   <groupId>org.apache.tomcat.maven</groupId>
     <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.0</version>
        <configuration>
           <path>/services</path>
           <port>8062</port>
           <contextReloadable>true</contextReloadable>
           <backgroundProcessorDelay>2</backgroundProcessorDelay>
           <contextFile>../context.xml</contextFile>
        </configuration>
 </plugin>

因此,当我对字节码进行更改时, contextReloadable 会触发应用程序的重新部署。这是欲望状态。当我在InteliJ中使用maven配置运行一些测试时,在我的系统中,我看到触发了重新部署。

enter image description here

我没有对文件或测试进行任何更改。但是重新部署被触发,一切正常。但是当我单击右键并单击使用InteliJ 14.0.3 Community Edition在 UploadTest 上运行时,同一测试存在问题

enter image description here

重新部署发生但未考虑配置文件且未设置环境变量。如果我添加它们

org.apache.catalina.core.ContainerBase backgroundProcess WARNING: Exception processing loader WebappLoader[/services] background process java.util.ConcurrentModificationExceptio

我的后端系统崩溃了。所以我的问题是:

  • 为什么InteliJ在没有更改代码/测试的情况下运行Spock测试时会触发重新部署?
  • 为什么使用InteliJ开始单个Spock测试,导致我的后台系统断开(我需要重新启动它)(问题的根源是什么?InteliJ使用不同的参数运行测试,不采用配置文件或... )。
  • inteliJ是否开始使用不同的环境变量集编译测试? (我看到inteliJ为测试启动了自己的启动器。)

0 个答案:

没有答案