How to run Solr unit tests

If you're going to be using or modifying Solr's source, unit tests are critical as they help uncover potential downstream runtime errors that you might encounter, and they help to isolate problems in any new functionality you're adding. The question is, how do you run Solr's unit tests? Read on below to find out.

Ant and Junit

Solr uses the Ant build system and leverages Junit as its testing harness plugin. A description of these technologies is outside the scope of this page, but we recommend you go check out each individual project as they have their share of testing tutorials. This guide is meant as a quick and dirty path to testing out Solr using what's been chosen to test it.

Running all tests

ant test

Yes, it's that simple.

Running specific unit tests

For full usage instructions, run:

 ant test-help

A subset of those instructions follows here.

Run a specific test method:

 ant -Dtestmethod=testEqualsLOOKUP3 -Dtestcase=TestHash clean test

Run all test methods in a single test class using:

 ant -Dtestcase=TestDistributedSearch clean test

Run tests inside a package and its sub-packages:

 ant -Dtests.class="org.apache.solr.handler.*" clean test

-Dtests.class selects full class names with a shell-like glob pattern. -Dtestcase=XXX is an alias for -Dtests.class=*.XXX

-Dtests.method selects method names with a shell-like glob pattern. -Dtestmethod=XXX is an alias for method name prefixes: -Dtests.method=XXX*

Running tests from Eclipse

Set the current working directory for the tests to src/test/test-files. In Eclipse, that can be done by going to the Run/Debug Configuration -> Arguments tab. In the Working directory select "other" and enter the path to the test-files directory.

  • No labels