For that specific test (please fix up the name of the test `saveDonorDonorCode_shouldPersist`) - you could check the `DonorDonorCode` object to see that an Id has been assigned to the object (`donorCodeGroup.getId() != 0`).

The issue is not with the number of objects that you create, but with the calls to DonorRepository methods.
Each test should only call the repository method relevant to the method being tested, and should only be called once.