testcontainers-rs
httpmock
Our great sponsors
testcontainers-rs | httpmock | |
---|---|---|
6 | 7 | |
535 | 417 | |
12.7% | - | |
6.7 | 8.5 | |
12 days ago | 13 days ago | |
Rust | Rust | |
Apache License 2.0 | 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.
testcontainers-rs
-
Rust Tooling: 8 tools that will increase your productivity
Testing with added infrastructure can be quite tricky. testcontainers aims to solve this by providing an open-source framework for providing local, lightweight containers for your application that can be immediately thrown away after use. It also has a Rust SDK!
-
Writing a REST API in Rust
Add tests! You can use testcontainers to spin up Docker containers for Postgres and other infrastructure which makes testing your database extremely easy. You can find more about this here.
-
Tokio's Axum web framework - not new, but new to me
Do you manually spin up the containers or do you use testcontainers?
-
Using rust for REST-API microservices
For the repo testing, thatโs simple. https://github.com/testcontainers/testcontainers-rs will start a Docker image and you just use that when instantiating the repo.
-
httpmock - A Rust library and tool for mocking and prototyping HTTP endpoints.
Thanks for sharing! I'm still a beginner with Rust and still pretty new to testing in general - is there any benefit to using something like this over bringing up the service as a separate container using something like testcontainers? I suppose the biggest one is this is in-memory and doesn't require the party running tests to have Docker available locally. The tradeoff is the extra work to create all the mocks (i.e. my library has several dozen endpoints).
httpmock
-
Rust HTTP Testing with httpmock
HTTP mocking libraries allow you to simulate HTTP responses so you can easier test code that depends on third-party APIs. This article shows how you can use httpmock to do this in Rust.
-
httpmock - A Rust library and tool for mocking and prototyping HTTP endpoints.
by using the httpmock library in Rust tests (see this example) , or
Thad you mean with "async runtime conflicts"? My tests are running agains three different async rutimes (tokio, async_std and actix_rt), seemingly without any problems. I checked that manually and I also see no problems (all green, not conflicts). If you think I am mistaken, please consider reporting it here.
Thank you! Indeed, httpmock allows you to configure mocks using YAML files like this one.
What are some alternatives?
Mockito - HTTP mocking for Rust!
libreddit - Private front-end for Reddit
vaultwarden - Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs
RustScan - ๐ค The Modern Port Scanner ๐ค
Weld - Full fake REST API generator written with Rust
sea-orm - ๐ An async & dynamic ORM for Rust
axum - Ergonomic and modular web framework built with Tokio, Tower, and Hyper
rust - Empowering everyone to build reliable and efficient software.
rust - Rust for the xtensa architecture. Built in targets for the ESP32 and ESP8266
axum-rest-starter-example - Quick demo of a REST frontend with a Redis session store.
inside-vm - Detect if code is running inside a virtual machine (x86 and x86-64 only).
deno - A modern runtime for JavaScript and TypeScript.