ic-testkit 0.8.6

PocketIC-oriented test utilities for IC canister tests
Documentation

ic-testkit

PocketIC-oriented test utilities for Internet Computer canister tests.

This crate is the published Rust package in the ic-testkit workspace. It provides:

  • direct re-exports of PocketIc and PocketIcBuilder
  • typed Candid query/update helpers with contextual, structured errors
  • canister install and retry helpers
  • explicit bounded PocketIC startup with structured child/readiness failures
  • cached single- and multi-canister PocketIC baseline pools
  • deterministic fake principals and account-like values
  • transactional external artifact sets and content-addressed Wasm builds with caller-labeled sequential batches and bounded cache retention
  • controller-aware, caller-labeled collect-all diagnostics
  • compact benchmark marker parsing, aggregation, comparison, and report writing
  • canister-side Performance::measure marker emission

ic-testkit does not wrap the PocketIC simulator API, serialize independent instances, or own PocketIC's server-binary cache. Tests normally create one fresh PocketIc each and use its inherent methods for simulator operations; focused extension traits provide reusable harness behavior.

Most users should read the repository README for setup, examples, local checks, and release notes.

The published archive includes CHANGELOG.md, which contains the 0.8 hard-cut migration tables and batch-report examples.

The repository also includes a complete multi-canister baseline recipe and a transactional external-artifact example that are compiled by the crate's normal all-target checks.