2016-08-23 17 views
0

mavenとのSpring Bootテスト統合機能を使いたいです。私は、次のコマンドを実行すると、私は期待どおりに動作していないことを参照してください。それが開始されMaven-failsafe-plugin:skipTests設定がSpring Boot 1.4統合テストでは機能しません

mvn clean install -DskipIntegrationTests=true 

統合テストを実行するが、それらをスキップする必要があります。 私の質問は次のとおりです:

  1. どうすればmavenで統合テストの実行を制御できますか?
  2. 本当にmaven-failsafe-pluginが必要ですか?

注:私は春のブートを使用しています1.4.0.RELEASE マイPOM:

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-failsafe-plugin</artifactId> 
      <executions> 
       <execution> 
        <id>integration-test</id> 
        <goals> 
         <goal>integration-test</goal> 
        </goals> 
        <configuration> 
         <skipTests>${skipIntegrationTests}</skipTests> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
     </plugin> 

私の統合テスト:

@RunWith(SpringRunner.class) 
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) 
@ActiveProfiles("development") 
@SqlGroup({ 
     @Sql(executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, scripts = "classpath:beforeTestRun.sql"), 
     @Sql(executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, scripts = "classpath:afterTestRun.sql") 
}) 
public class AdminTest { 

    @Autowired 
    private TestRestTemplate restTemplate; 

    @Test 
    public void get_all_admins() { 
     //TODO: code here 
    } 
} 
+1

通常のユニットテストと比較して、そのテストを「統合テスト」としてどのように識別していますか? –

+0

私は識別しません、おそらく私はいくつかのmavenプラグインの設定が欠けていました – Dimon

答えて

1

は、あなたはどのように見ていることになるでしょうフェイルセーフプラグインが機能します。具体的には統合テスト・フェーズの一部であるべきテスト識別する方法:

**/IT*.java:デフォルトでは

http://maven.apache.org/surefire/maven-failsafe-plugin/examples/inclusion-exclusion.html

を、フェイルセーフプラグインが自動的に次のワイルドカードパターンを持つすべてのテスト クラスが含まれます - すべてのサブディレクトリとすべてのJava ファイル名が "IT"で始まるものを含みます。 **/*IT.java - その サブディレクトリと、すべて "Java"で終わるすべてのJavaファイル名を含みます。 **/*ITCase.java - "ITCase"で終わるすべてのサブディレクトリとすべてのJava ファイル名を含みます。

これらの命名規則のうち、テストクラスが に従わない場合は、Failsafe Pluginと に含めるテストを指定します。

関連する問題