Drill provides two unit test frameworks for whole-server, SQL-based testing: the original BaseTestQuery and the newer ClusterFixture. Both use the TestBuilder mechanism to build system-level functional tests that run queries and check results.
Jason provided an operator-level test framework based, in part on mocks:
As Drill operators become more complex, we have a crying need for true unit-level tests at a level below the whole system and below operators. That is, we need to test the individual pieces that, together, form the operator.
This umbrella ticket includes a number of tasks needed to create the sub-operator framework. Our intention is that, over time, as we find the need to revisit existing operators, or create new ones, we can employ the sub-operator test framework to exercise code at a finer granularity than is possible prior to this framework.