Configuration d’Apex Replay Debugger
Lors de cette étape, vous allez créer un projet Salesforce DX avec du code Apex afin de le tester et de le déboguer à l’aide d’Apex Replay Debugger.
Création d’un projet Salesforce DX
- Dans Visual Studio Code, cliquez sur le menu View (Afficher) et choisissez Command Palette… (Palette de commandes). Vous pouvez également ouvrir la palette de commandes à l’aide du raccourci clavier Ctrl+Shift+P (Windows ou Linux) ou Cmd+Shift+P (macOS).
- Saisissez
sfdx create project
(créer un projet sfdx) dans la zone de recherche, puis choisissez SFDX: Create Project.
- Sélectionnez Standard project template (default) (Modèle de projet standard [par défaut]).
- Saisissez
debugger-project
(projet-debogueur) comme nom de projet.
- Choisissez un dossier dans lequel créer le projet. Au bout de quelques secondes, Visual Studio Code se recharge et s’ouvre sur votre nouveau dossier de projet.
- Dans le menu latéral Explorer (Explorateur), développez les dossiers
force-app/main/default/classes
. Notez que le dossier est vide. Nous modifierons cela dans la section suivante.
Création d’une classe Apex
- Dans la barre latérale Explorer (Explorateur), cliquez avec le bouton droit de la souris sur le dossier
classes
, puis choisissez SFDX: Create Apex Class. Ne sélectionnez pas la commande New File (Nouveau fichier), car elle ne créera pas le fichier XML de métadonnées requis.
- Saisissez
AccountService
comme nom et acceptez le répertoire par défaut.
- Remplacez le contenu du fichier AccountService.cls par le code suivant. Les bogues 🐞 présents dans ce fichier sont intentionnels. Par conséquent, ne les corrigez pas maintenant. 😉
public with sharing class AccountService { public Account createAccount( String accountName, String accountNumber, String tickerSymbol ) { Account newAcct = new Account( Name = accountName, AccountNumber = accountNumber, TickerSymbol = accountNumber ); return newAcct; } }
- Enregistrez le fichier.
Points marquants du code
- La classe
AccountService
a une méthode :createAccount
.
- La méthode crée et renvoie une variable sObject de compte avec ses champs de nom, de numéro de compte et de cote boursière attribués aux paramètres de la méthode.
Création d’un test Apex
- Dans la barre latérale Explorer (Explorateur), cliquez avec le bouton droit de la souris sur le dossier
classes
, puis choisissez SFDX: Create Apex Class.
- Saisissez le nom
AccountServiceTest
.
- Remplacez le contenu du fichier AccountServiceTest.cls par le code suivant.
@IsTest private class AccountServiceTest { @IsTest static void should_create_account() { String acctName = 'Salesforce'; String acctNumber = 'SFDC'; String tickerSymbol = 'CRM'; Test.startTest(); AccountService service = new AccountService(); Account newAcct = service.createAccount( acctName, acctNumber, tickerSymbol ); insert newAcct; Test.stopTest(); List<Account> accts = [ SELECT Id, Name, AccountNumber, TickerSymbol FROM Account WHERE Id = :newAcct.Id ]; Assert.areEqual( 1, accts.size(), 'should have found new account' ); Assert.areEqual( acctName, accts[0].Name, 'incorrect name' ); Assert.areEqual( acctNumber, accts[0].AccountNumber, 'incorrect account number' ); Assert.areEqual( tickerSymbol, accts[0].TickerSymbol, 'incorrect ticker symbol' ); } }
- Enregistrez le fichier.
Points marquants du code
- La classe
AccountServiceTest
a une méthode de test :should_create_account
.
- La méthode de test crée une variable sObject de compte avec les valeurs de champ prévues pour le nom (Salesforce), le numéro de compte (SFDC) et la cote boursière (CRM) à l’aide de la méthode
AccountService.createAccount
.
- La méthode de test recherche l’enregistrement de compte inséré et indique les valeurs de champ prévues.
Une fois ces classes Apex créées, votre dossier classes
doit contenir quatre fichiers : AccountService.cls, AccountServiceTest.cls et leurs fichiers de métadonnées. Si ces fichiers n’apparaissent pas, assurez-vous que vous avez créé les fichiers avec la commande SFDX: Create Apex Class (SFDX : créer une classe Apex), et non avec la commande New File (Nouveau fichier).
Autorisation d’une organisation
Ensuite, autorisez votre organisation à utiliser Salesforce CLI afin de pouvoir interagir avec votre organisation à l’aide de l’interface de ligne de commande et de Salesforce Extensions pour Visual Studio Code.
- Dans Visual Studio Code, cliquez sur le menu View (Afficher) et choisissez Command Palette… (Palette de commandes). Vous pouvez également ouvrir la palette de commandes à l’aide du raccourci clavier Ctrl+Shift+P (Windows ou Linux) ou Cmd+Shift+P (macOS).
- Saisissez
sfdx authorize org
(autoriser une organisation sfdx) dans la zone de recherche, puis choisissez SFDX: Authorize an Org.
- Choisissez une option d’URL de connexion. Pour les organisations Trailhead Playground, vous pouvez sélectionner Project Default (Valeur par défaut du projet) ou Production.
- Saisissez
debuggerOrg
pour l’alias de l’organisation.
- Votre navigateur ouvre une page de connexion Salesforce. Saisissez vos identifiants Trailhead Playground.
- Si vous êtes invité à autoriser l’accès, cliquez sur Allow (Autoriser).
- Revenez dans Visual Studio Code pour vérifier que votre organisation Trailhead Playground a été autorisée. Une sortie semblable à la suivante doit s’afficher :
Successfully authorized <username> with org ID <orgid>
(<Nom d’utilisateur> autorisé avec l’ID d’organisation <ID organisation>).
Nous vous félicitons. Cliquez sur Verify Step (Vérifier l’étape) pour confirmer que votre organisation d’exercice a autorisé Salesforce CLI et passer à l’étape suivante, lors de laquelle vous allez déboguer du code à l’aide d’Apex Replay Debugger.
Ressources
- Site externe : Salesforce Extension Pack (Pack d’extensions Salesforce)
- Guide du développeur Salesforce DX : Configuration d’un projet Salesforce DX
- Site externe : Débogage dans Visual Studio Code.