HackyInstaller's unit testing uses JUnit and JFCUnit. The base code is tested using JUnit and the GUI is tested with JFCUnit.
When HackyInstaller runs it usually requires several configuration files (sensor.properties, hackyinstaller.xml, and usermaps.xml). It is no different during unit testing. Much of the HackyInstaller code accesses these files. Therefore, we must ensure that all the files needed by HackyInstaller are available during the testing. We achieve this goal with a custom class called HackyInstallerTestCase.
HackyInstaller's testing environment consists of temporary directory that contains a dummy .hackystat folder with dummy configuration files.