1 # Manual de Uso: Script de Testes Automatizados (cria-usuario-unico.Tests.ps1)
João Pedro Toledo Goncalves edited this page 2025-10-15 13:16:07 +00:00

1. Visão Geral

Este script não cria usuários. Sua única finalidade é servir como uma suíte de testes automatizados para o script principal cria-usuario-unico.ps1. Ele garante que a lógica de negócio, as validações e o tratamento de erros do script de provisionamento funcionem exatamente como esperado, prevenindo regressões e falhas em produção após qualquer alteração.

A suíte de testes utiliza o framework Pester, o padrão de-facto para testes em PowerShell, e se baseia em um conceito fundamental chamado Mocking (Simulação).

O Que é Mocking?

Em vez de se conectar a um Active Directory real, o script de testes "simula" o comportamento dos cmdlets do AD (New-ADUser, Get-ADUser, etc.). Isso nos oferece três vantagens críticas:

  1. Segurança: Os testes podem ser executados em qualquer máquina, a qualquer momento, sem nenhum risco de criar, modificar ou apagar dados em um ambiente de produção ou desenvolvimento.
  2. Velocidade: Os testes são executados em segundos, pois não há latência de rede ou processamento de um Domain Controller real.
  3. Confiabilidade e Isolamento: Podemos forçar cenários de erro específicos (ex: simular que um usuário já existe) de forma determinística, garantindo que estamos testando a lógica do nosso script, e não a infraestrutura do AD.

2. Pré-requisitos

  • PowerShell 5.1 ou superior.
  • Módulo Pester: Deve estar instalado na máquina de execução. Se não estiver, instale-o com o seguinte comando em um PowerShell como Administrador:
    Install-Module -Name Pester -Force
    
  • Não é necessário ter os módulos ActiveDirectory ou as Ferramentas do Exchange instaladas, pois todos os cmdlets externos são simulados (mocked).

3. Como Usar

A execução dos testes é um processo simples e direto.

  1. Abra o PowerShell no diretório onde os dois scripts (cria-usuario-unico.ps1 e cria-usuario-unico.Tests.ps1) estão localizados.
  2. Execute o comando Invoke-Pester:
    Invoke-Pester -Path '.\cria-usuario-unico.Tests.ps1'
    

3.1. Interpretando os Resultados

Sucesso

Se todas as regras de negócio do script principal estiverem funcionando corretamente, a saída será verde, indicando que todos os testes passaram.

Starting discovery in 1 files.
Discovery found 8 tests in 88ms.
Running tests in 'C:\scripts\cria-usuario-unico.Tests.ps1'.
[+] C:\scripts\cria-usuario-unico.Tests.ps1 1.21s
Tests completed in 1.21s
Tests Passed: 8, Failed: 0, Skipped: 0, Pending: 0, Inconclusive: 0