# `macrotest`
[](https://travis-ci.com/eupn/macrotest)
[](https://crates.io/crates/macrotest)
[](https://docs.rs/macrotest/)
[](https://crates.io/crates/macrotest)
[](https://crates.io/crates/macrotest)
Similar to [trybuild], but allows you to test how declarative or procedural macros are expanded.
----
## Documentation
Please refer to the [documentation](https://docs.rs/macrotest).
## Example
Install nightly rust, [`cargo expand`] and [`rustfmt`].
Add to your crate's Cargo.toml:
```toml
[dev-dependencies]
macrotest = "0.1"
```
Under your crate's `tests/` directory, create `tests.rs` file containing the following code:
```rust
#[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](test-project) and [test-procmacro-project](test-procmacro-project) for the reference.
[trybuild]: https://github.com/dtolnay/trybuild
[`cargo expand`]: https://github.com/dtolnay/cargo-expand
[`rustfmt`]: https://github.com/rust-lang/rustfmt