#proc-macro #generics #parametric #test-cases

macro dev generic-tests

Procedural macro to define tests and benchmarks generically

5 releases

new 0.1.3 Nov 8, 2024
0.1.2 Feb 6, 2021
0.1.1 Jul 7, 2020
0.1.0 Jun 25, 2020
0.1.0-beta.1 Jun 24, 2020

#146 in Testing

Download history 3081/week @ 2024-07-25 3232/week @ 2024-08-01 2225/week @ 2024-08-08 2417/week @ 2024-08-15 2174/week @ 2024-08-22 2683/week @ 2024-08-29 2829/week @ 2024-09-05 2571/week @ 2024-09-12 3413/week @ 2024-09-19 3680/week @ 2024-09-26 5235/week @ 2024-10-03 4157/week @ 2024-10-10 3328/week @ 2024-10-17 1892/week @ 2024-10-24 1718/week @ 2024-10-31 2658/week @ 2024-11-07

10,298 downloads per month
Used in 26 crates (25 directly)

MIT/Apache

44KB
966 lines

Procedural macro support for generic test definitions

The procedural attribute macro provided by this crate allows the test writer to reuse code between test cases or benchmarks that use the same test protocol with different types under test. As in general programming with Rust, this is achieved by using generic parameters and trait bounds. The specific test cases are expanded in multiple submodules with type arguments provided in another attribute.

Features

  • Instantiates tests and benchmarks for the built-in test framework.
  • Supports arbitrary test function attributes provided by other crates.
  • A customizable set of attributes is copied from the generic test function to its instantiations.
  • Supports async tests.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~205–640KB
~15K SLoC