Skip to Content
Nouvelle version 12 disponible 🎉

Tests unitaires

Avec Babel Obfuscator, il est possible de conserver les tests unitaires même après l’obfuscation du code. Pour cela, Babel Obfuscator est configuré de façon à obfusquer le code et à exécuter les tests unitaires sur le code obfusqué. Cette configuration nécessite un fichier de mappage XML, qui aide à résoudre les problèmes liés à l’accès aux classes internes utilisées par les tests unitaires. Vous avez ainsi l’assurance que les tests unitaires continuent à fournir des résultats fiables et exacts après l’obfuscation du code. Cela aide à préserver la qualité du code et garantit qu’il continue à fonctionner comme prévu après l’obfuscation.

Pour exécuter efficacement des tests unitaires sur du code obfusqué, il faut utiliser un fichier de mappage XML avec Babel Obfuscator. Ce fichier aide Babel Obfuscator à suivre les noms des classes, des méthodes et des variables de votre assembly cible et à garantir qu’ils restent cohérents après l’obfuscation. C’est important, car les tests unitaires dépendent souvent de la structure interne de votre code et peuvent référencer des classes, des méthodes ou des variables précises. Si ces références changent pendant l’obfuscation, les tests unitaires ne peuvent plus accéder aux éléments nécessaires et échouent.

Pour résoudre ce problème, Babel Obfuscator génère pour l’assembly cible un fichier de mappage XML qui enregistre les noms d’origine de vos classes, méthodes et variables avant l’obfuscation. Pendant le processus d’obfuscation, Babel Obfuscator met à jour les noms dans le fichier de mappage pour qu’ils correspondent aux noms obfusqués. Les tests unitaires peuvent alors être traités par Babel Obfuscator avec le fichier de mappage généré afin d’accéder aux bons noms obfusqués, ce qui leur permet de s’exécuter correctement sur le code obfusqué.

Configurer Babel pour les tests unitaires

Pour utiliser Babel Obfuscator avec vos tests unitaires, suivez les étapes ci-dessous :

Référencer le package NuGet

Ajoutez une référence au package NuGet Babel Obfuscator dans le projet de tests unitaires.

Charger le fichier de mappage XML

Modifiez le projet en ajoutant des instructions MSBuild qui permettent à Babel de charger le fichier de mappage XML généré pour l’assembly cible.

Désactiver le renommage

Le projet de tests unitaires n’a pas besoin du renommage : désactivez-le.

<PropertyGroup> <ObfuscateTypes>false</ObfuscateTypes> <ObfuscateProperties>false</ObfuscateProperties> <ObfuscateMethods>false</ObfuscateMethods> <ObfuscateParameters>false</ObfuscateParameters> <ObfuscateFields>false</ObfuscateFields> <ObfuscateEvents>false</ObfuscateEvents> </PropertyGroup> <ItemGroup> <MapInFile Include="$(SolutionDir)/MapOut/ClassLibrary.dll.map.xml" /> </ItemGroup>

Où ClassLibrary.dll.map.xml est le fichier de mappage XML généré pour l’assembly cible testé.

Vous pouvez ainsi exécuter vos tests unitaires sur le code obfusqué et utiliser le fichier de mappage XML pour résoudre les problèmes de références aux noms obfusqués utilisés par le code des tests unitaires. Cette configuration garantit que vos tests unitaires continuent à fonctionner après l’obfuscation de votre code.

Exécuter le projet d’exemple

Vous pouvez télécharger le projet d’exemple ici . Pour l’exécuter, suivez les instructions ci-dessous :

Extraire l’archive

Extrayez le fichier UnitTest.zip dans un dossier de votre ordinateur.

Copier le fichier de licence

Copiez votre fichier de licence dans le dossier extrait.

Ouvrir un terminal

Ouvrez une invite de commandes ou une fenêtre de terminal et accédez au dossier où vous avez extrait les fichiers.

Exécuter les tests

Saisissez la commande « dotnet test » pour exécuter le projet d’exemple.

Sortie des tests unitaires

Last updated on