faux
Weld
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
Weld
We haven't tracked posts mentioning Weld yet.
Tracking mentions began in Dec 2020.
What are some alternatives?
Mockito - HTTP mocking for Rust!
parity-bitcoin - The Parity Bitcoin client
mock_derive - A mocking library for Rust-lang
httpmock - HTTP mocking library for Rust.
mry - A simple mocking library for structs, traits, and function.
basiliq - REST API server that abstracts the need to write CRUD methods by exposing a standardized API to interact with a Postgres database
unimock - A versatile and developer-friendly trait mocking library
weather_bandit - Dragon App (Weather bandit a personal weather forecast expert with a mask)
connect_rusty - Dragon App (Connect Rusty a classic two-player connection board game)
rust-cli-boilerplate - Rust project boilerplate for CLI applications
rust-sokoban - Rust Sokoban book and code samples
hyper-router - Simple routing middleware for rust HTTP library hyper.