Cairo Testing
Overview
Guide writing test functions, using assertion macros, and running tests with Scarb.
Quick Use
- •Read
references/testing.mdbefore answering. - •Put tests in a
#[cfg(test)]module insrcfiles. - •Use the right assert macro for the expected condition.
Response Checklist
- •Add
#[test]above each test function. - •Use
assert!,assert_eq!,assert_ne!, or comparison macros as needed. - •Assert message arguments must be string literals, not variables (e.g.,
assert!(x, "msg")notassert!(x, msg)). - •Use
#[should_panic(expected: "...")]for panic-based tests. - •Use
#[ignore]for slow tests andscarb test --include-ignoredwhen needed. - •Add
#[available_gas(n)]for recursion or long loops.
Example Requests
- •"How do I write a basic test in Cairo?"
- •"How do I assert a panic message?"
- •"How do I run a single test?"