Hi, all

Surefire plugin default execute `default-test` when mvn test. There two 
execution in Flink’s surefire plugin configure, default-test and 
integration-tests.

I have three problem about unit test:
1. As default-test and integration-tests are mutual exclusion, when I local 
execute “mvn clean test -f flink-libraries/flink-table/pom.xml -U”, it will not 
execute all the unit test of ITCase.*, such as 
org.apache.flink.table.api.scala.stream.sql.SqlITCase will not be executed. I 
think it’s a bug.
   Where is integration-tests used?
2. *Test.* also will be not executed, there lots of *Test.* unit test, do they 
need be test?
3. Suite.* use in scala generally, flink-ml use scalatest-maven-plugin instead 
of surefire plugin

I think we should do something on unit test:
1. Choose one unit test plugin: surefire or scalatest-maven-plugin
2. Include given unit test wildcard class, such as **/*ITCase.*,   **/*Test.*,  
**/*Suite.*, **/*Test.*
   All such unit test should be executed. Clean the non unit test class with 
name end of “Test”.


After I try to modify the configure of surefire plugin, lots of error occur

<execution>
        <id>default-test</id>
        <phase>test</phase>
        <goals>
                <goal>test</goal>
        </goals>
        <configuration>
                <skip>${skip.default.test}</skip>
                <includes>
                        <include>**/*ITCase.*</include>
                        <include>**/*Suite.*</include>
                        <include>**/*Test.*</include>
                        <!--<include>**/*ITSuite.*</include>-->
                </includes>
        </configuration>
</execution>

 

cc Stephan Ewen


Best regards
-Jinkui Shi


Reply via email to