I had a batchable class
MyBatchable whose unit tests have been running successfully for over 2 years and suddenly, they stopped working yesterday with error
Batch Apex Unit Test: System.UnexpectedException: Error processing messages
Looking at the debug log, it appears that the
start() method fails to return any rows to
execute() - even though it should return rows.
I looked at the other problem reasons in these answers