Suggest trybuild tests
diff --git a/README.md b/README.md
index ecc6eb8..ebce32a 100644
--- a/README.md
+++ b/README.md
@@ -182,6 +182,18 @@
| ^^^
```
+## Testing
+
+When testing macros, we often care not just that the macro can be used
+successfully but also that when the macro is provided with invalid input it
+produces maximally helpful error messages. Consider using the [`trybuild`] crate
+to write tests for errors that are emitted by your macro or errors detected by
+the Rust compiler in the expanded code following misuse of the macro. Such tests
+help avoid regressions from later refactors that mistakenly make an error no
+longer trigger or be less helpful than it used to be.
+
+[`trybuild`]: https://github.com/dtolnay/trybuild
+
## Debugging
When developing a procedural macro it can be helpful to look at what the
diff --git a/src/lib.rs b/src/lib.rs
index bfd6db8..a2f2e5b 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -178,6 +178,19 @@
//! | ^^^
//! ```
//!
+//! ## Testing
+//!
+//! When testing macros, we often care not just that the macro can be used
+//! successfully but also that when the macro is provided with invalid input it
+//! produces maximally helpful error messages. Consider using the [`trybuild`]
+//! crate to write tests for errors that are emitted by your macro or errors
+//! detected by the Rust compiler in the expanded code following misuse of the
+//! macro. Such tests help avoid regressions from later refactors that
+//! mistakenly make an error no longer trigger or be less helpful than it used
+//! to be.
+//!
+//! [`trybuild`]: https://github.com/dtolnay/trybuild
+//!
//! ## Debugging
//!
//! When developing a procedural macro it can be helpful to look at what the