insta: Rust 用のスナップショット テスト ライブラリ
スナップショット テスト (承認テストとも呼ばれる) は、基準値 (スナップショット) に対して値をアサートするテストです。これは、 assert_eq!
方法と似ています。値を参照値と比較できますが、単純な文字列アサーションとは異なり、スナップショット テストでは複雑な値に対してテストでき、変更をレビューするための包括的なツールが付属しています。
スナップショット テストは、参照値が非常に大きい場合、または頻繁に変更される場合に特に役立ちます。
#[テスト]fn test_hello_world() {insta::assert_debug_snapshot!(vec![1, 2, 3]);}
好奇心旺盛?ワークフロー全体を示すスクリーンキャストがあります。インスタの紹介スクリーンキャストをご覧ください。または、ビデオに興味がない場合は、5 分間の紹介文をお読みください。
Insta は、個別のファイルではなくソース ファイルに直接保存されるインライン スナップショットもサポートしています。これは、コンパニオンの Cargo-Insta ツールによって実現されます。
.snap
ファイルを確認するには、スナップショット ファイルを構文ハイライトしたり、スナップショットを確認したりできる vscode 拡張機能があります。マーケットプレイスからインストールできます: マーケットプレイスを表示します。
インスタでは、すべての差分操作にsimilar
操作を使用しています。インスタとは別にご利用いただけます。 similar-asserts
クレートを使用して、標準のassert_eq!
通常の比較のためにインスタのような diff を実現するマクロ:
同様の_asserts::assert_eq;fn main()を使用します {letreference = vec![1, 2, 3, 4];assert_eq!(reference, (0..4).collect::<Vec<_>>()) ;}
プロジェクトが気に入って役立つ場合は、スポンサーになることができます。
プロジェクトのウェブサイト
ドキュメント
問題追跡ツール
ライセンス: Apache-2.0