/macrotest

Test harness for declarative and procedural macros expansion via `cargo-expand`

Primary LanguageRust

macrotest

Travis-CI Crates.io docs.rs Crates.io Crates.io

Similar to trybuild, but allows you to test how declarative or procedural macros are expanded.


Documentation

Please refer to the documentation.

Example

Install nightly rust, cargo expand and rustfmt.

Add to your crate's Cargo.toml:

[dev-dependencies]
macrotest = "0.1"

Under your crate's tests/ directory, create tests.rs file containing the following code:

#[test]
pub fn pass() {
    macrotest::expand("tests/expand/*.rs");
}

Populate the tests/expand/ directory with rust source files. Each source file is a macro expansion test case.

See test-project and test-procmacro-project for the reference.