faux | Mockito | |
---|---|---|
4 | - | |
404 | 627 | |
- | - | |
4.3 | 7.2 | |
about 1 month ago | about 1 month ago | |
Rust | Rust | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
faux
-
Mocking in Rust: Mockall and alternatives
Faux allows you to create mock versions of a struct without complicating your code. Like many mocking libraries, faux is only recommended for testing purposes. Mock objects in production may be unstable and cause production problems.
-
Mocking Crates Experience
I am not a fan of the: "make a trait for every struct so it can be tested" strategy that a lot of mocking libraries or hand rolled mocks do in Rust so I wrote my own library that allows you mock structs directly: https://github.com/nrxus/faux/. Unlike libraries that rely on using traits/dynamic dispatch for mocking this let's your signatures stay as simple as you want them and not incur any runtime cost when doing non-test builds.
-
Mocking trait object without a library
for a quick shill moment: I did write a mocking library that deliberately does not pollute the original object and tries to be as out of the way as possible: https://github.com/nrxus/faux/. It does work by using macros (don't hate me yet!) but these macros will only be executed when building for test thus not polluting the original objects for production code.
-
faux: a struct mocking library - landing v0.1
These are the tests for an example: https://github.com/nrxus/faux/blob/master/tests/asynchronous.rs
Mockito
We haven't tracked posts mentioning Mockito yet.
Tracking mentions began in Dec 2020.
What are some alternatives?
Weld - Full fake REST API generator written with Rust
httpmock - HTTP mocking library for Rust.
mock_derive - A mocking library for Rust-lang
Mockiato - A strict, yet friendly mocking library for Rust 2018
mry - A simple mocking library for structs, traits, and function.
quickcheck - Automated property based testing for Rust (with shrinking).
unimock - A versatile and developer-friendly trait mocking library
trust - Travis CI and AppVeyor template to test your Rust crate on 5 architectures and publish binary releases of it for Linux, macOS and Windows
tarpaulin - A code coverage tool for Rust projects
shiny - a shiny test framework for rust
Clippy - A bunch of lints to catch common mistakes and improve your Rust code. Book: https://doc.rust-lang.org/clippy/
stainless - Organized, flexible testing framework for Rust