In general, there should be unit tests to cover individual classes; there must be integration test to cover end-to-end scenarios like build, merge, and query. Unit test must run independently (does not require an external sandbox).
mvn clean testruns unit tests, which has a limited test coverage.
- Unit tests has no external dependency and can run on any machine.
- The unit tests do not cover end-to-end scenarios like build, merge, and query.
- The unit tests take a few minutes to complete.
mvn clean test -DskipRunIt=falseruns integration tests, which has the best test coverage.
- The integration tests start from generate random data, then build cube, merge cube, and finally query the result and compare to Spark.
- The integration tests take about one hour to complete.
If your code changes is minor and it merely requires running UT, use:
If your code changes involve more code, you need to run UT and IT, use:
mvn clean test -DskipRunIt=false