dimanche 11 octobre 2015

modify groovy trait private field

In my unit tests I usually use reflection to manually inject a mock to the tested class' private field:

static void setFieldValue(Object instance, String fieldName, Object fieldValue, Class instanceClass) {
        def field = instanceClass.getDeclaredField(fieldName)
        field.accessible = true
        field.set(instance, fieldValue)
    }

Where instanceClass is the class/superclass, where the class is actually declared. How can I make it work or achieve same result for a private field being declared on a groovy trait?





Aucun commentaire:

Enregistrer un commentaire