A test harness is a set of tools, procedures, and scripts used to run a set of unit tests. It typically includes a test runner, a test results reporter, and any supporting files or libraries. The purpose of a test harness is to automate the unit testing process, to make it easier to run and manage unit tests, and to provide detailed reports of the test results.