noir-testing

star 0

Test Noir circuits using nargo test. Covers test attributes, assertions, and organization patterns.

critesjosh By critesjosh schedule Updated 2/10/2026

name: noir-testing description: "Test Noir circuits using nargo test. Covers test attributes, assertions, and organization patterns." allowed-tools: Read, Grep, Glob, Edit, Write, Bash

Noir Testing

Noir has a built-in test framework that runs alongside your circuit code using nargo test. Tests are constrained by default, meaning they generate real constraints and verify circuit behavior under proving conditions.

Key Facts

  • Tests live in the same .nr files as circuit code, or in separate test modules
  • Tests are constrained by default -- they generate real constraints just like proving
  • Add unconstrained to run tests without constraint generation (faster, but less thorough)
  • No external test framework needed -- everything is built into nargo

Running Tests

# Run all tests in the project
nargo test

# Run a specific test by exact name
nargo test --exact test_addition

# Run tests matching a prefix
nargo test test_transfer

# Show println output during tests
nargo test --show-output

Quick Start

fn add(x: Field, y: Field) -> Field {
    x + y
}

#[test]
fn test_add() {
    assert_eq(add(2, 3), 5);
}

#[test(should_fail_with = "attempt to divide by zero")]
fn test_divide_by_zero() {
    let _ = 1 / 0;
}

#[test]
unconstrained fn test_add_unconstrained() {
    // Runs faster without constraint generation
    assert_eq(add(2, 3), 5);
}

Detailed Guides

Install via CLI
npx skills add https://github.com/critesjosh/noir-claude-plugin --skill noir-testing
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator