Pular para o conteúdo
Skillpedia
Testes40 mil · #5261

pester-migration

Ajuda seu agente a atualizar testes antigos do PowerShell. Ele adapta o código para novas versões, garantindo que os testes continuem funcionando.

O que ela faz

Esta ferramenta ajuda a atualizar seus testes de software (chamados Pester) para uma versão mais nova do PowerShell. Ela ajusta a forma como os testes são escritos e executados para garantir que funcionem corretamente com as novas versões.

Quando usar

  • ✓Quando você atualiza seu ambiente de desenvolvimento para uma nova versão principal do PowerShell.
  • ✓Quando seus testes antigos do Pester param de funcionar após uma atualização.
  • ✓Para garantir que seus testes de software estejam alinhados com as versões mais recentes das ferramentas.

Exemplo do que pedir para a IA

“Atualize meus testes Pester da versão 4 para a 5.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/github/awesome-copilot/blob/main/skills/pester-migration/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/pester-migration/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta analisa seus testes existentes e aplica as mudanças necessárias na sintaxe e na estrutura. Ela segue guias específicos para cada atualização de versão, garantindo que as alterações sejam feitas corretamente.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add github/awesome-copilot --skill pester-migration

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/pester-migration/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Migração do Pester

Pester é o framework de testes para PowerShell. Arquivos de teste terminam em *.Tests.ps1 e usam blocos Describe / Context / It com asserções Should. Esta habilidade atualiza um conjunto existente de uma versão principal do Pester para a próxima e o faz passar novamente.

Modelo mental: cada salto principal tem um caráter diferente. v3→v4 é principalmente uma renomeação de sintaxe. v4→v5 é uma mudança fundamental de tempo de execução (a divisão Descoberta/Execução) e é a difícil. v5→v6 é em grande parte retrocompatível — um punhado de coisas previamente depreciadas agora lançam erros. Migre uma versão principal por vez; nunca pule uma versão.

Guias detalhados e orientados por sintomas vivem em references/ — carregue aquele(s) para o salto que você está fazendo.

Referências

Referência Quando carregar
v3-to-v4.md Should Be → Should -Be, Contain → FileContentMatch, Assert-VerifiableMocks → Assert-VerifiableMock, casos extremos de asserção de array.
v4-to-v5.md O grande. Fases de Descoberta/Execução, configuração BeforeAll, $PSScriptRoot, BeforeDiscovery, -ForEach, escopo de mock, curingas Should -Throw, Invoke-Pester → New-PesterConfiguration.
v5-to-v6.md Apenas PowerShell 5.1/7.4+, descoberta+execução por arquivo, -ForEach vazio lança erro, blocos de setup duplicados lançam erro, templates de nome <...> avaliam, Assert-MockCalled removido, mocks não caem mais, rastreador de cobertura de código, parâmetros Invoke-Pester legados removidos.

Fonte canônica: os guias de migração oficiais em https://pester.dev/docs/migrations/ — esta habilidade os espelha. Em caso de dúvida, prefira o site.

Passo 0 — Detecte onde você está e para onde está indo

Encontre a(s) versão(ões) instalada(s) e a versão para a qual os testes foram escritos. Estes podem diferir.

# Installed Pester version(s) on this machine
Get-Module Pester -ListAvailable | Select-Object Name, Version, Path

# Version currently imported in the session
(Get-Module Pester).Version

Determine a versão de origem do código de teste com estas heurísticas:

Você vê em *.Tests.ps1 / scripts de build Suite foi escrita para
Should Be / Should Contain (sem hífen) v3 ou anterior → comece em v3-to-v4
$MyInvocation.MyCommand.Path + dot-source no topo do arquivo; código arbitrário diretamente sob Describe v4 → v4-to-v5
Assert-MockCalled, Assert-VerifiableMock, Set-ItResult -Pending v4 / v5 inicial (estes são removidos em v6)
Invoke-Pester -Script … -OutputFile … -CodeCoverage … (parâmetros legados) invocação v4 → mapear para configuração
BeforeAll { . $PSScriptRoot/… }, New-PesterConfiguration, Should -Invoke já estilo v5 → v5-to-v6

Instale a versão de destino quando estiver pronto:

# Latest stable v5 — pin the major to avoid installing Pester 6
Install-Module Pester -MaximumVersion 5.99.99 -Force

# Pester 6
Install-Module Pester -Force

No Windows PowerShell 5.1 o sistema operacional vem com um Pester 3 assinado pela Microsoft que o PowerShellGet não sobrescreverá com o Pester mais novo assinado de forma diferente — adicione -SkipPublisherCheck lá para instalar lado a lado. Não é necessário no PowerShell 7+. Veja https://pester.dev/docs/introduction/installation.

Fluxo de trabalho de migração

Execute este loop para cada salto principal. Não pule dois principais de uma vez — vá v4→v5, depois v5→v6.

  1. Linha de base. Execute o conjunto na versão atual primeiro e registre aprovações/falhas. Você precisa de um ponto de partida conhecido como bom (ou conhecido) para que possa distinguir regressões de migração de falhas pré-existentes.
    # Bare Invoke-Pester works on every major; exact parameters differ
    # (v3/v4: -Script/-OutputFile; v5+/v6: -Path/-Output).
    Invoke-Pester
    
  2. Leia a referência para este salto (tabela acima) para que você saiba o escopo completo antes de editar.
  3. Edite arquivo por arquivo. Aplique as mudanças mecânicas (veja as folhas de cola por salto abaixo e na referência). Mantenha as mudanças pequenas e revisáveis — um arquivo ou uma preocupação por vez.
  4. Troque as versões com Install-Module (Passo 0), então reimporte: Remove-Module Pester; Import-Module Pester (ou inicie uma sessão nova).
  5. Execute e corrija. Reexecute com -Output Detailed; use -Output Diagnostic (v4→v5) ou leia as mensagens de erro explícitas do v6 para localizar problemas. Combine cada falha com as tabelas de sintoma → correção na referência.

…

Perguntas frequentes

O que é Pester?

Pester é um framework (uma estrutura de trabalho) usado para escrever testes automatizados para código escrito em PowerShell. Ele ajuda a verificar se o seu código está funcionando como esperado.

Por que preciso atualizar meus testes Pester?

Assim como outros softwares, o Pester evolui. Novas versões podem introduzir mudanças que tornam os testes escritos para versões antigas incompatíveis. Atualizar garante que seus testes continuem funcionando e aproveitem os novos recursos.

Posso pular versões durante a atualização?

Não é recomendado. É melhor atualizar uma versão principal de cada vez (por exemplo, de v3 para v4, depois de v4 para v5) para gerenciar as mudanças de forma mais eficaz e evitar erros complexos.

Detalhes

Descrição original do autor

Pester migration skill for upgrading PowerShell Pester test suites across major versions — v3→v4, v4→v5, and v5→v6. Covers the Discovery/Run two-phase model, moving setup into BeforeAll, $PSScriptRoot vs $MyInvocation, mock changes (Assert-MockCalled → Should -Invoke, removed fall-through), Invoke-Pester parameters → PesterConfiguration, data-driven -ForEach/-TestCases, and the v6 breaking changes

repo: github/awesome-copilot

Popularidade

Estrelas no GitHub
40 mil
Posição no ranking
#5261
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas