Testing the Domain layer
Testing your Domain code can be accomplished in the standard Force.com manner. Typically, test classes are named by suffixing Test
at the end of the Domain class name, for example, RacesTest
. Test methods have the option to test the Domain class code functionality either directly or indirectly.
Indirect testing is accomplished using only the DML and SOQL logic against the applicable Custom Objects and asserting the data and field errors arising from these operations. Here, there is no reference to your Domain class at all in the test code.
However, this only tests the Apex Trigger Domain class methods. For test methods that represent custom domain behaviors, you must create an instance of the Domain class. This section will illustrate examples of both indirect and direct testing approaches.
Unit testing
Although developing tests around the Service layer and related callers (controllers, batch, and so on) will also invoke the Domain layer logic, it is important to test...