Rust Testing

Open-source Rust projects categorized as Testing | Edit details

Top 23 Rust Testing Projects

  • foundry

    Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.

    Project mention: Best Foundry testing resources / examples? | reddit.com/r/cryptodevs | 2022-04-17

    I've been getting into Foundry which allows for Solidity-based testing. This is pretty awesome, though I'm looking for ways to keep a large codebase organize this way and best practices for writing tests.

  • quickcheck

    Automated property based testing for Rust (with shrinking).

    Project mention: Rust is more portable than C for pngquant/libimagequant | reddit.com/r/rust | 2022-01-04

    Quickcheck https://github.com/BurntSushi/quickcheck

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • tarpaulin

    A code coverage tool for Rust projects

    Project mention: Measuring the coverage of a Rust program in Github Actions | reddit.com/r/rust | 2022-04-27
  • afl.rs

    🐇 Fuzzing Rust code with American Fuzzy Lop

    Project mention: LibAFL - write fuzzers that outperform libfuzzer and afl, completely in Rust | reddit.com/r/rust | 2022-01-03

    afl.rs provides a convenient tool to fuzz with afl++, will it be updated to leverage libafl or are the goals incompatible / is the target of libafl different?

  • proptest

    Hypothesis-like property testing for Rust

    Project mention: Is there a rust way for doing TDD? | reddit.com/r/rust | 2022-01-26

    It is not hard to do TDD with integration tests either, just write tests that encapsulate the properties you want your library to hold then implement those properties one by one. This is also known as property driven/based testing which then couples well with fuzzers or randomized testing where you randomize the input rather than using large amounts of test assets. This also help you catch a lot more bugs that you never even thought of. proptest is a good library that can help with this.

  • nextest

    A next-generation test runner for Rust.

    Project mention: Cargo-nextest: next-generation test runner for Rust projects | news.ycombinator.com | 2022-05-07
  • tempfile

    Temporary file library for rust

    Project mention: How to open a PDF with default PDF viewer? | reddit.com/r/rust | 2022-05-22

    Not the same commenter but you could use a tempfile

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • static-assertions-rs

    Ensure correct assumptions about constants, types, and more in Rust

  • stainless

    Organized, flexible testing framework for Rust

  • rstest

    Fixture-based test framework for Rust

    Project mention: pytest features in Rust | reddit.com/r/rust | 2022-03-03

    As far as I'm aware, the only crate that offers pytest concepts to any notable extent is rstest. While very useful, its focus is only on fixtures and parametrization. It provides only partial support for them, and no support at all for stuff like hooks, plugins, and other advanced pytest features.

  • Mockito

    HTTP mocking for Rust! (by lipanski)

  • fuzzcheck-rs

    Modular, structure-aware, and feedback-driven fuzzing engine for Rust functions

    Project mention: Fuzzcheck (a structure-aware Rust fuzzer) | reddit.com/r/rust | 2022-02-26

    Fuzzcheck is a structure-aware fuzzer for rust. "Fuzzing" means feeding large amounts of data into a program and checking for crashes (Fuzzcheck also checks to make sure that all the properties your program should uphold – e.g. a sorting algorithm applied to a list of n items should always return a list of n items – are upheld). Fuzzcheck is an "evolutionary" fuzzer – this means that it generates a set of random inputs, sees what percentage of the program is executed for each input, and keeps inputs which have high levels of percentage of program executed. It then "mutates" these inputs – whereas fuzzers such as AFL/Hongfuzz/etc mutate raw bytes in place (e.g. they swap bytes at different positions, or insert a random byte at a given position to generate inputs similar to the chosen "high coverage" inputs), Fuzzcheck works directly on the Rust types (so it might swap the order of two items in a vec, or randomly insert a new item). It's a really powerful tool for finding lots of bugs.

  • keyscope

    Keyscope is a key and secret workflow (validation, invalidation, etc.) tool built in Rust

    Project mention: I just open sourced Keyscope - a security tool built in Rust for automating validation of a wide range of API keys | reddit.com/r/rust | 2021-10-05
  • faux

    Struct mocking library for Rust

    Project mention: Mocking trait object without a library | reddit.com/r/rust | 2021-08-16

    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.

  • Mockiato

    A strict, yet friendly mocking library for Rust 2018

  • cargo-hack

    Cargo subcommand to provide various options useful for testing and continuous integration.

    Project mention: PSA - Most Rust tooling runs only on the default feature set and current platform if no special steps are taken | reddit.com/r/rust | 2022-04-19

    For features: You can use cargo-hack or cargo-all-features to run on all feature combinations.

  • approx

    Approximate floating point equality comparisons and assertions (by brendanzab)

    Project mention: Transferral of repository · Issue #77 · brendanzab/approx | reddit.com/r/rust | 2022-01-26
  • shiny

    a shiny test framework for rust (by farcaller)

  • cargo-mutants

    `cargo mutants` mutation testing for Rust

    Project mention: What's everyone working on this week (13/2022)? | reddit.com/r/rust | 2022-03-27

    cargo-mutants got a couple of releases over the weekend, fixing some environment-triggered bugs on Windows and Linux ecryptfs, and adding a better overall progress indicator (demo: https://asciinema.org/a/481375). It is getting better at avoiding uninteresting or pointless mutations, although there's a lot more to do there, and at printing function name paths well.

  • cargo-all-features

    A Cargo subcommand to build and test all feature flag combinations.

    Project mention: PSA - Most Rust tooling runs only on the default feature set and current platform if no special steps are taken | reddit.com/r/rust | 2022-04-19

    For features: You can use cargo-hack or cargo-all-features to run on all feature combinations.

  • noxious

    A Rust port of Toxiproxy server

    Project mention: Toxiproxy is a framework for simulating network conditions | news.ycombinator.com | 2021-11-02
  • polish

    Testing Framework for Rust (by Alkass)

  • specsheet

    The testing toolkit.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-05-22.

Rust Testing related posts

Index

What are some of the best open-source Testing projects in Rust? This list will help you:

Project Stars
1 foundry 2,969
2 quickcheck 1,877
3 tarpaulin 1,557
4 afl.rs 1,204
5 proptest 1,000
6 nextest 845
7 tempfile 634
8 static-assertions-rs 449
9 stainless 447
10 rstest 403
11 Mockito 391
12 fuzzcheck-rs 371
13 keyscope 340
14 faux 297
15 Mockiato 231
16 cargo-hack 183
17 approx 122
18 shiny 95
19 cargo-mutants 85
20 cargo-all-features 72
21 noxious 47
22 polish 44
23 specsheet 39
Find remote jobs at our new job board 99remotejobs.com. There are 7 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com