Jest é um framework de testes para JavaScript com assertions integradas, mocking, testes de snapshot e modo watch interativo.
mitsuhiko/insta
Biblioteca de testes de snapshot para Rust que compara valores com snapshots de referência armazenados e oferece ferramentas para revisar alterações.
- Estrelas
- 2,979
- Forks
- 168
- Issues abertas
- 78
- Último commit
- há 15 dias
O que é?
insta é uma biblioteca de testes de snapshot para Rust. Um teste de snapshot verifica se um valor corresponde a uma referência armazenada, de forma semelhante a assert_eq!, mas é mais adequado para valores complexos, como estruturas grandes ou saídas que mudam com frequência. Quando um snapshot muda, o teste falha, e a nova saída pode ser revisada e aceita.
Os snapshots podem ser gravados em arquivos .snap separados ou diretamente no arquivo de origem. A ferramenta de linha de comando cargo-insta, que acompanha a biblioteca, permite revisar e atualizar snapshots. Uma extensão para VS Code oferece realce de sintaxe, revisão de snapshots e navegação para a definição em arquivos .snap.
insta usa o crate similar para gerar diffs, e o crate similar-asserts adiciona a mesma saída de diff inline às comparações comuns com assert_eq!.
Recursos principais
- 01Asserções de snapshot para saídas Debug e outros formatos serializáveis.
- 02Snapshots inline armazenados diretamente nos arquivos de origem Rust.
- 03Ferramenta de linha de comando cargo-insta para revisar e atualizar snapshots.
- 04Extensão para VS Code para visualizar e revisar arquivos .snap.
- 05Diffs inline para comparações que falham, usando a biblioteca similar.
Casos de uso
- Testar structs complexas ou saídas de parsers quando escrever os valores esperados manualmente é trabalhoso.
- Detectar alterações não intencionais em saídas que evoluem com o tempo.
- Revisar alterações em snapshots como parte do fluxo de revisão de código.
Início rápido
- 1
Adicione o crate insta como dev-dependency no Cargo.toml
- 2
Escreva um teste que chame insta::assert_debug_snapshot! em um valor
- 3
Instale a ferramenta complementar cargo-insta para revisar os snapshots
Em coleções
Tópicos
Perguntas frequentes
- O que é insta?
- Biblioteca de testes de snapshot para Rust que compara valores com snapshots de referência armazenados e oferece ferramentas para revisar alterações. insta é uma biblioteca de testes de snapshot para Rust. Um teste de snapshot verifica se um valor corresponde a uma referência armazenada, de forma semelhante a assert_eq!, mas é mais adequado para valores complexos, como estruturas grandes ou saídas que mudam com frequência. Quando um snapshot muda, o teste falha, e a nova saída pode ser revisada e aceita.
- insta é gratuito? Qual é a licença?
- insta é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- insta ainda é mantido?
- Manutenção ativa. O último commit de insta foi em 10 de out. de 2026.
- Para que posso usar insta?
- Testar structs complexas ou saídas de parsers quando escrever os valores esperados manualmente é trabalhoso. Detectar alterações não intencionais em saídas que evoluem com o tempo. Revisar alterações em snapshots como parte do fluxo de revisão de código.
- Como instalar insta?
- Adicione o crate insta como dev-dependency no Cargo.toml Escreva um teste que chame insta::assert_debug_snapshot! em um valor Instale a ferramenta complementar cargo-insta para revisar os snapshots
- Onde consigo insta?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/mitsuhiko/insta
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Toolkit de testes para Go com assertions, mocks e uma estrutura de suites compatível com o runner padrão go test.
Framework de testes unitários para C++ baseado em headers, com asserts simples, macros no estilo BDD e microbenchmarking básico.
AVA é um executor de testes concorrente para Node.js, com uma API concisa, mensagens de erro detalhadas e isolamento por arquivo.
PHPUnit é um framework de testes unitários para PHP, voltado a desenvolvedores e baseado na arquitetura xUnit.
Utilitários leves para testar o DOM do React, consultando e interagindo com componentes como os usuários fazem.