Establecer fecha de creaci贸n para sObject de clase de prueba en Apex

Establecer fecha de creaci贸n para sObject de clase de prueba en Apex

脷ltima actualizaci贸n el 5 de junio de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • 驴C贸mo se puede establecer la Fecha de creaci贸n para un sObject dentro de un contexto de prueba?

Objetivos:

Despu茅s de leer este blog, podr谩:

  • Obtenga una comprensi贸n integral del m茅todo setCreatedDate relacionado con las pruebas de Apex
  • Establecer la fecha de creaci贸n para el registro de la clase de prueba
  • y mucho m谩s

馃憠 En el pasado escrib铆 algunos art铆culos sobre Apex . 驴Por qu茅 no echarles un vistazo mientras est谩s en ello?

  1. Calcular la cobertura general del c贸digo en Salesforce
  2. Comprobar si una cadena es nula, vac铆a o en blanco en Apex

Ben Halpern es un desarrollador Jr. de Salesforce en Gurukul On Cloud (GoC) . Cre贸 un disparador de Apex para el objeto Lead.


desencadenar LeadTrigger en Lead (antes de la actualizaci贸n) { if(Desencadenador.esAntes){ si (Desencadenador.Isupdate){ para (Lead myLead:trigger.new){ if(myLead.LeadSource==null && myLead.createddate== Fecha.hoy().addDays(-1)){ //hacer algo } } } }
}

Sabe c贸mo escribir la clase de prueba para el c贸digo anterior. Necesita ayuda para crear un registro con una fecha pasada dentro de la clase de prueba.

Enfoque de Campe贸n de Automatizaci贸n (I-do):

Para establecer la fecha de creaci贸n de un sObject en una clase de prueba de Apex, puede utilizar el m茅todo Test.setCreatedDate(recordId, createdDatetime) . Esto le permite especificar una fecha y hora deseadas para el campo Fecha de creaci贸n del registro de sObject dentro de la clase de prueba.

A continuaci贸n se muestran detalles sobre los par谩metros setCreatedDate .

Nombre de los par谩metros
Detalles
ID de registro Representa el ID de un sObject.
Fecha y hora de creaci贸n Representa el valor para asignar al campo Fecha de creaci贸n del sObject.

Adem谩s, es importante tener en cuenta que el m茅todo setCreatedDate no se puede utilizar dentro de los m茅todos anotados con @isTest(SeeAllData=true). Hagamos una pausa aqu铆, familiar铆cese con el m茅todo de prueba s etCreatedDate Apex.

Pr谩ctica guiada (nosotros hacemos):

Con estos m茅todos, puede determinar de forma eficaz si un campo de texto es nulo, est谩 vac铆o o est谩 en blanco en Apex. Veamos esto en acci贸n:

  1. Haga clic en Configuraci贸n | Consola de desarrollador .  
  2. Para crear una clase de prueba de Apex, haga clic en Archivo | Nuevo | Clase 谩pice.
     @esPrueba clase privada LeadTrigger_Test { static testMethod void testSetCreatedDate() { Lead l = new Lead(LastName='myLastname', Company='myCompany'); insertar l; Test.setCreatedDate(l.Id, Date.today().addDays(-1)); Prueba.startTest(); Lead myLead = [SELECCIONE Id, Nombre, Apellido, Empresa, Fecha de creaci贸n FROM Lead WHERE Apellido ='miApellido' l铆mite 1]; myLead.FirstName = 'myFirstname'; actualizar myLead;
    System.assertEquals(myLead.CreatedDate, Date.today().addDays(-1)); Prueba.detenerPrueba(); }
    }
Seguir leyendo

Comprobar si una cadena es nula, vac铆a o en blanco en Apex

Comprobar si una cadena es nula, vac铆a o en blanco en Apex

脷ltima actualizaci贸n el 3 de junio de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • 驴C贸mo verificar en Apex si un campo de Texto es nulo, vac铆o o en blanco?

Objetivos:

Despu茅s de leer este blog, podr谩:

  • Diferenciar entre nulo, vac铆o y en blanco
  • Comprobar si un campo de campo de texto es nulo
  • Comprobar si un campo de campo de texto est谩 vac铆o
  • Comprobar si un campo de campo de texto est谩 en blanco
  • y mucho m谩s

Ben Halpern es un desarrollador Jr. de Salesforce en Gurukul On Cloud (GoC) . Ben quiere aprender a verificar si un campo de texto es nulo, est谩 vac铆o o est谩 en blanco en Apex.

Enfoque de Campe贸n de Automatizaci贸n (I-do):

Es muy f谩cil confundir una cadena nula, vac铆a o en blanco para los principiantes. Sin embargo, vayamos por la definici贸n de cada uno para trazar una l铆nea de diferencia.

  1. Nulo : Significa que una variable o campo no tiene un valor asignado. Por ejemplo:
     String myStr1 = null;
  2. Vac铆o : Significa que a una variable o campo se le ha asignado un valor, pero ese valor es una cadena vac铆a con cero caracteres. Por ejemplo:
     Cadena miStr2 = '';
Seguir leyendo