Yesterday, I posted a blog entry about performing assertions directly in your ArgumentMatcher implementations. I wanted to close the loop on my previous usage of the ArgumentMatcher. After some discussion with the main committer to mockito, Szczepan Faber, it seems that ArgumentMatcher should only be used to capture the indirect output argument, making it accessible to the test code. Once the test code has the indirect output argument available to it, you can then assert on it to your heart's delight. Szczepan recommended not embedding the assertions directly in the ArgumentMatcher implementation. More information can be found here. Seems like a good approach.