testcontainers-rs
nextest
testcontainers-rs | nextest | |
---|---|---|
6 | 16 | |
591 | 1,954 | |
8.8% | 2.6% | |
7.7 | 9.8 | |
5 days ago | 6 days ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
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.
-
Writing Better Integration Tests with RAII
You didn't mention how do you start Postgres for the tests. Is it assumed it runs in the background? A cool crate I use lately for this kind of thing is test_containers that can start docker containers from code, for example - Postgres
-
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).
nextest
-
Rust Tooling: 8 tools that will increase your productivity
cargo-nextest describes itself as a “next-generation Rust test runner”. To install, you need to run cargo install cargo-nextest.
-
My favourite Git commit (2019)
> On my work I make 1-15 commits a day. If I have to spend thought cycles on the commit message, that is time that goes from other productive endeavours.
I make roughly that many commits a day as well. If something's easy to understand I'll put in a simple commit message (e.g. [1]), but I do put in the effort for more complicated ones.
[1] https://github.com/nextest-rs/nextest/commit/efd194b2e1d8d61...
[2] https://github.com/oxidecomputer/omicron/commit/b07a8f593325...
-
Rust tech stack
If you need fancier testing than what's built into Rust, cargo-nextest is becoming quite popular.
-
Customizable testing framework
https://nexte.st/ is what is getting all the attention as a replacement test harness/framework these days.
-
Hey Rustaceans! Got a question? Ask here (11/2023)!
I believe cargo-nextest supports running separate binaries concurrently.
-
Fellow Rust enthusiasts: What "sucks" about Rust?
Do you already use nextest or something else? That really leans into test parallelism and sounds like a perfect fit for how you structure the tests.
- Альтернативний спосіб запускати тести
-
buffer-unordered-weighted: a variant of StreamExt::buffer_unordered where each future has a weight
I built it for cargo-nextest, in service of a new feature where some tests can be marked as heavier than others.
-
Small changes you can make in a rust codebase that have a significant impact
IMO 100% worth checking out: https://nexte.st/
-
Why does Rusts testing tools seem so much less polished compared to its other tooling?
For me, most of my needs are covered with next-test(https://nexte.st/), not that I have ever used any of the things you mentioned 😅
What are some alternatives?
libreddit - Private front-end for Reddit
cargo-release - Cargo subcommand `release`: everything about releasing a rust crate.
RustScan - 🤖 The Modern Port Scanner 🤖
cargo-limit - Productivity improvements for Rust ecosystem: warnings are skipped until errors are fixed, LSP-independent Neovim integration, etc.
vaultwarden - Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs
cargo-deny - ❌ Cargo plugin for linting your dependencies 🦀
sea-orm - 🐚 An async & dynamic ORM for Rust
shadow-rs - A build-time information stored in your rust project.(binary,lib,cdylib,dylib)
httpmock - HTTP mocking library for Rust.
Cargo - The Rust package manager
axum - Ergonomic and modular web framework built with Tokio, Tower, and Hyper
TestNG - TestNG testing framework