testing the failure condition is not a bad thing, in fact it's something that should be done.
I would do integration tests for this, because you want to check a real database to see if the failure is rolled back as expected.
You have two tests :
- first update fails, everything should stop and second update should not run.
- first update works, second fails, so first update should be rolled back.
If you want unit tests, then use an in-memory database for example.
You don't say which database you are using, but typically you can check if an update succeeds as an update statement will tell you how many rows have been changed. If you get zero, or there is something wrong with the update statement and you get an error message, then you know you need to stop