Sto eseguendo un Trigger per un esercizio. Potrebbe essere utile scrivere qualche appunto.
Documentazione variabili globali in Trigger
DML Exception in Trigger Test
Come verificare per esempio un eccezione scaturita da una validation rules durante i test di un Trigger
@isTest
public static void checkValidationRules(){
// in questo modo verifico gli errori DMl
try {
if(Test.isRunningTest()) {
// creo il contatto di test e lo inserisco
Contact contatto = new Contact();
contatto.lastName = 'Alessandro';
insert contatto;
// creo il libro di test e lo inserisco
Libro__c libro = new Libro__c();
libro.Name = 'test libro acquistato 1';
libro.Genere__c = 'books';
libro.Giacenza__c = 100;
libro.ISBN__c = '9788867143337';
libro.Prezzo__c = 20;
libro.Contact__c = contatto.Id;
insert libro;
// creo lo scontrino di test e lo inserisco
Scontrino__c scontrino = new Scontrino__c();
insert scontrino;
// creo l'acquisto di test
Acquisto__c newacquisto = new Acquisto__c();
// creo l'acquisto di test e lo inserisco
newacquisto.Name = 'test acquisto 1';
newacquisto.Libro__c = libro.id;
newacquisto.Quantit_acquistate__c = 0;
newacquisto.Scontrino__c = scontrino.Id;
insert newacquisto;
Libro__c ceckTest = [select id,Giacenza__c from Libro__c WHERE Id=: libro.id];
System.assertEquals(100,ceckTest.Giacenza__c);
}
} catch (DMLException ex) {
// Existing exception handling.
System.debug('Si è verificato un errore DML: '+ ex);
}
}
Variabili disponibili durante l’esecuzione di un Trigger
isExecuting
isInsert
isUpdate
isDelete
isBefore
isAfter
isUndelete
new
newMap
old
oldMap
operationType
size