Teste o acionador de evento de alteração
Objetivos de aprendizagem
Após concluir esta unidade, você estará apto a:
- Escrever uma classe de teste do Apex para o acionador de evento de alteração do Apex.
- Executar o teste e fornecer cobertura de teste para o acionador de evento de alteração do Apex.
Teste do acionador de evento de modificação
Agora que você aprendeu a escrever um acionador de evento de alteração, vamos escrever um teste para ele. Testar seu acionador é importante não só como uma boa prática, mas também é obrigatório pela plataforma. Antes que você possa empacotar ou implantar acionadores do Apex para produção, você deve fornecer testes do Apex e cobertura de código suficiente.
É possível fornecer cobertura de teste para o acionador do Apex escrevendo uma classe de teste do Apex, que inclui um ou mais métodos de teste. A estrutura de um método de teste para acionadores de evento de alteração é a seguinte.
A primeira instrução que você inclui no método de teste é:
Essa instrução habilita todas as entidades para Change Data Capture e assegura que alterações no registro do Salesforce feitas em um método de teste disparem acionadores de evento de alteração. Este método habilita todas as entidades apenas para o teste e não afeta as seleções de entidade de Change Data Capture para a organização.
Após habilitar a Captura de dados de alteração, execute algumas operações DML e chame o método Test.getEventBus().deliver().
O método fornece as mensagens de evento do barramento de evento de teste para o disparo de evento de mudança correspondente e faz com que o acionador seja disparado.
As mensagens de eventos de alteração de teste são publicadas no barramento de eventos de teste, que é separado do barramento de eventos do Salesforce. Elas não são persistentes no Salesforce e não são entregues a canais de eventos fora da classe de teste. As propriedades das mensagens de eventos de alteração de teste, como a ID de reprodução, são redefinidas no contexto de teste e refletem apenas os valores de mensagens de evento de teste.
Criar e executar um teste para o acionador
Vamos colocar as mãos à mostra e criar uma classe de teste, TestEmployeeChangeTrigger. O método de teste na classe cria um registro de teste de Empregado e atualiza o registro. Cada uma dessas operações dispara o acionador no evento de alteração de empregado. O teste garante a execução do acionamento, consultando a tarefa que o acionador criou e verificando a contagem de tarefas.
Ao executar a classe de teste no Developer Console, os registro de depuração ficam disponíveis na guia Registros. Para testes de Apex, não há necessidade de configurar registros de depuração em Configuração para a entidade Processo Automatizado.
Para criar a classe de teste:
- No Developer Console, selecione Arquivo | Novo | Classe do Apex.
- No campo Nome, digite um nome para o acionador:
TestEmployeeChangeTrigger
. - Substitua o conteúdo padrão pelo código a seguir.
- Na janela classe de teste, clique em Executar teste. Após o término da execução do teste, a guia Testes mostra o status da execução do teste.
- Clique na guia Testes e expanda o painel Cobertura geral de código. A cobertura de código para o EmployeeChangeTrigger é de 100%, que é o resultado da execução deste teste.
Agora você está pronto para escrever um disparador de evento de mudança com uma classe de teste para que você possa implantá-lo na produção!