Rust Mock Shootout!


Rust has several different mocking libraries. None is clearly superior to all of the others. This project compares their feature sets, using an apples-to-apples approach. Each of several dozen features is implemented with multiple mocking libraries, if possible. The test results then show which features work with which library.

Do you need both static methods and methods that return references with non-'static lifetimes? Then you should use Mock_Derive. Or perhaps you like to derive your mocks and you need to validate call sequences? Then you should use Mockers.

Check our the handy table to find the mocking library that’s right for you.


That’s a really nice comparison. I especially like that you came up with a comprehensive feature test suite.


This is incredibly thorough! Thanks a lot for creating this resource.

A note on a potentially improvement: it’d be very helpful for colorblind (and even blind) users if you put some “YES” / “NO” text in the big feature comparison table. Especially given that you chose red and green :slight_smile:


Good point. Fixed!


Thanks for this, really nice one. Just searching what mocking lib to use.


FYI, I’m continuously updating the shootout. If you want to see new additions, you should subscribe to the Github repo. I won’t post every update to the forum. Today’s update: not a single library is capable of mocking a Send trait.