The way I've been designing this is to have the CRUD functions do their own assertions.  All the tests should do is catch exceptions if they are expecting errors.