Loading

Test.isRunningTest()

Data da publicação: Nov 18, 2021
Descrição
Quando estamos configurando dados de teste do método de teste do Apex, precisamos de uma maneira de desabilitar os acionadores que o acionarão. Isso pode causar "LimitException: 'Consultas SOQL demais: 101'". Nesse caso, os acionadores não são voltados ao caso de teste, assim, esse cenário fará o método de teste falhar. Não é necessário desabilitar o acionador para cada caso de teste. Em vez disso, podemos usar isRunningTest(). 
Resolução
Configure o acionador aproveitando isRunningTest(). isRunningTest() – retornará true se o código em execução no momento tiver sido chamado pelo código contido em um método de teste; caso contrário, falso. Use esse método se precisar executar um código diferente dependendo de se ele foi chamado de um teste. 

Exemplo de código Test.isRunningTest

if(Test.isRunningTest()){ //fazer algo }

Outros cenários de uso

1. Para garantir que o acionador não execute o lote se Test.IsRunningTest() for verdadeiro, teste a classe do lote com seu próprio método de teste. 
2. Testando chamadas – em seu código de chamada, veja se a execução está sendo feita dentro de um contexto de teste de unidade verificando Test.isRunningTest() e, em vez de obter sua resposta de chamada de uma solicitação HttpResponse.send(), você retorna uma string de teste pré-construída. 
Número do artigo do Knowledge

000386600

 
Carregando
Salesforce Help | Article