Loading

Test.isRunningTest()

Fecha de publicación: Nov 18, 2021
Descripción
Cuando estamos configurando datos de prueba desde el método de prueba de Apex, necesitamos una forma de desactivar los desencadenadores que se activarán. Podría causar "LimitException: "Demasiadas consultas SOQL: 101". En este caso, los desencadenadores no son el destino del caso de prueba, y por tanto este escenario causará fallos del método de prueba. No es necesario desactivar el desencadenador para cada caso de prueba, en su lugar podemos utilizar isRunningTest(). 
Solución
Configure el desencadenador aprovechando isRunningTest(). isRunningTest() - Devuelve true si el código que se está ejecutando en estos momentos fue llamado por código contenido en un método de prueba, y devuelve false en caso contrario. Utilice este método si necesita ejecutar código diferente dependiendo de si se llamó desde una prueba. 

Ejemplo de código Test.isRunningTest

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

Otros escenarios de uso

1. Para garantizar que el desencadenador no ejecuta el lote si Test.IsRunningTest() es true, y luego probar la clase del lote con su propio método de prueba. 
2. Prueba de llamadas - En su código de llamadas comprueba si está ejecutando dentro del contexto de prueba de unidad comprobando Test.isRunningTest() y en vez de obtener la respuesta de su llamada desde una solicitud HttpResponse.send(), devuelve una cadena de prueba preconstruida en su lugar. 
Número del artículo de conocimiento

000386600

 
Cargando
Salesforce Help | Article