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

Vai alla guida di riferimento