After creating a new Test Runner, we can add any Controller Services to the Test Runner that our Processor will need in order to perform its job. We do this by calling the
addControllerService method and supply both an identifier for the Controller Service and an instance of the Controller Service.
If the Controller Service needs to be configured, its properties can be set by calling the
setProperty(ControllerService, PropertyDescriptor, String),
setProperty(ControllerService, String, String), or
setProperty(ControllerService, PropertyDescriptor, AllowableValue) method. Each of these methods returns a
ValidationResult. This object can then be inspected to ensure that the property is valid by calling
isValid. Annotation data can be set by calling the
setAnnotationData(ControllerService, String) method.
We can now ensure that the Controller Service is valid by calling
assertValid(ControllerService) - or ensure that the configured values are not valid, if testing the Controller Service itself, by calling
Once a Controller Service has been added to the Test Runner and configured, it can now be enabled by calling the
enableControllerService(ControllerService) method. If the Controller Service is not valid, this method will throw an IllegalStateException. Otherwise, the service is now ready to use.