This is a canonical question and answer developed by the community to help address common questions. If you've been directed here, or your question has been closed as a duplicate, please look through the resources here and use them to shape more specific questions. To browse all canonical questions and answers, including more unit test resources, navigate to the
I'* testing asynchronous code - like Batch Apex, Queueable Apex,
@future methods, or Scheduled Apex - and I'* getting unexpected results. It seems like portions of my code aren't running, or I'* getting confusing errors about batch invocations. How do I effectively test this kind of code?