In your tests, you need only specify the values which will be accessed during rules execution.
However, it can be easy to forget to specify a value; if so, when CER attempts a calculation, it may encounter an attribute whose derivation is <specified> but for which no value has been specified in your test code, and CER will report a stack of errors:
public void valueNotSpecified() { final FlexibleRetirementYear flexibleRetirementYear = FlexibleRetirementYear_Factory.getFactory().newInstance( session); /** * Will not work - a value required for calculation was marked * as <specified> but no value was specified for it. * * CER will report a stack of messages: * <ul> * * <li> Error calculating attribute 'ageAtRetirement' on rule * class 'FlexibleRetirementYear' (instance id '1', description * 'Undescribed instance of rule class * 'FlexibleRetirementYear', id '1'). </li> * * <li>Error calculating attribute 'retirementCause' on rule * class 'FlexibleRetirementYear' (instance id '1', description * 'Undescribed instance of rule class * 'FlexibleRetirementYear', id '1'). </li> * * <li>Value must be specified before it is used (it cannot be * calculated).</li> * * </ul> * * * Remember to specify all values required by calculations! */ CREOLETestHelper.assertEquals(65, flexibleRetirementYear .ageAtRetirement().getValue()); }