Jestは、アサーション、モック、スナップショットテスト、対話型ウォッチモードを備えたJavaScriptテストフレームワークです。
mitsuhiko/insta
保存済みのスナップショットと値を比較し、変更をレビューするツールを備えたRust向けスナップショットテストライブラリ。
- スター
- 2,979
- フォーク
- 168
- 未解決の Issue
- 78
- 最終コミット
- 15 日前
これは何?
instaはRust向けのスナップショットテストライブラリです。スナップショットテストでは、値が保存済みの参照スナップショットと一致することを検証します。assert_eq!と似ていますが、大きな構造体や頻繁に変化する出力など、複雑な値に適しています。スナップショットに変更があるとテストは失敗し、新しい出力を確認して採用できます。
スナップショットは個別の.snapファイル、またはソースファイル内にインラインで保存できます。付属のコマンドラインツールcargo-instaを使って、スナップショットをレビュー・更新できます。VS Code拡張機能では、.snapファイルのシンタックスハイライト、スナップショットのレビュー、定義へのジャンプが利用できます。
instaは差分表示にsimilarクレートを使用し、similar-assertsクレートを使うと通常のassert_eq!による比較でも同じインライン差分を表示できます。
主な機能
- 01Debugやその他のシリアライズ可能な出力に対するスナップショットアサーション。
- 02Rustのソースファイル内に直接保存できるインラインスナップショット。
- 03スナップショットのレビューと更新に使えるコマンドラインツールcargo-insta。
- 04.snapファイルの表示とレビューに対応したVS Code拡張機能。
- 05similarライブラリを利用した、比較失敗時のインライン差分表示。
ユースケース
- 期待値を手作業で書くのが面倒な、複雑な構造体やパーサーの出力をテストする。
- 時間とともに変化する出力に、意図しない変更がないか検出する。
- コードレビューのワークフローの一環として、スナップショットの変更を確認する。
クイックスタート
- 1
Cargo.toml に insta crate を dev-dependency として追加する
- 2
値に対して insta::assert_debug_snapshot! を呼び出すテストを書く
- 3
スナップショットを確認するため、付属ツールの cargo-insta をインストールする
収録されている特集
トピック
よくある質問
- insta とは?
- 保存済みのスナップショットと値を比較し、変更をレビューするツールを備えたRust向けスナップショットテストライブラリ。 instaはRust向けのスナップショットテストライブラリです。スナップショットテストでは、値が保存済みの参照スナップショットと一致することを検証します。assert_eq!と似ていますが、大きな構造体や頻繁に変化する出力など、複雑な値に適しています。スナップショットに変更があるとテストは失敗し、新しい出力を確認して採用できます。
- insta は無料で使えますか?ライセンスは?
- insta は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- insta は今もメンテナンスされていますか?
- 活発にメンテナンス中。insta の最終コミットは 2026年10月10日 です。
- insta は何に使えますか?
- 期待値を手作業で書くのが面倒な、複雑な構造体やパーサーの出力をテストする。 時間とともに変化する出力に、意図しない変更がないか検出する。 コードレビューのワークフローの一環として、スナップショットの変更を確認する。
- insta のインストール方法は?
- Cargo.toml に insta crate を dev-dependency として追加する 値に対して insta::assert_debug_snapshot! を呼び出すテストを書く スナップショットを確認するため、付属ツールの cargo-insta をインストールする
- insta はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/mitsuhiko/insta
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
標準のgo testランナーで動作する、アサーション、モック、テストスイートを備えたGo向けテストツールキットです。
シンプルなアサーション、BDDスタイルのマクロ、基本的なマイクロベンチマーク機能を備えた、C++向けのヘッダーベースのユニットテストフレームワーク。
AVAは、簡潔なAPI、詳細なエラー出力、テストファイルごとのスレッド分離を備えたNode.js向け並行テストランナーです。
PHPUnitは、xUnitアーキテクチャに基づく、PHP向けのプログラマー志向のユニットテストフレームワークです。
ユーザーの操作に沿ってコンポーネントを検索・操作できる、軽量なReact DOMテストユーティリティ。