Test unitari
Con Babel Obfuscator puoi continuare a usare i test unitari anche dopo aver offuscato il codice. Per farlo, configura Babel Obfuscator in modo che applichi l’offuscamento al codice ed esegua i test unitari sul codice offuscato. Questa configurazione richiede un file map XML, che aiuta a risolvere i problemi che possono nascere dall’accesso alle classi interne usate dai test unitari. In questo modo i test unitari continuano a dare risultati affidabili e accurati anche dopo l’offuscamento del codice. Questo aiuta a mantenere la qualità del codice e garantisce che continui a funzionare come previsto dopo l’offuscamento.
Per eseguire in modo efficace i test unitari sul codice offuscato è necessario usare un file map XML con Babel Obfuscator. Il file map XML aiuta Babel Obfuscator a tenere traccia dei nomi di classi, metodi e variabili dell’assembly target e a garantire che restino coerenti anche dopo l’offuscamento. È importante perché i test unitari dipendono spesso dalla struttura interna del codice e possono fare riferimento a classi, metodi o variabili specifici. Se questi riferimenti cambiano durante l’offuscamento, i test unitari non riescono più ad accedere agli elementi necessari e falliscono.
Per superare il problema, Babel Obfuscator genera per l’assembly target un file map XML che registra i nomi originali di classi, metodi e variabili prima dell’offuscamento. Durante l’offuscamento, Babel Obfuscator aggiorna i nomi nel file map in modo che corrispondano ai nomi offuscati. I test unitari possono quindi essere elaborati con Babel Obfuscator e con il file map generato, così da accedere ai nomi offuscati corretti ed essere eseguiti correttamente sul codice offuscato.
Configurare Babel per i test unitari
Per usare Babel Obfuscator con i tuoi test unitari, segui questi passi:
Aggiungi il riferimento al pacchetto NuGet
Aggiungi al progetto dei test unitari un riferimento al pacchetto NuGet di Babel Obfuscator.
Carica il file map XML
Modifica il progetto aggiungendo le istruzioni MSBuild che permettono a Babel di caricare il file map XML generato per l’assembly target.
Disattiva la ridenominazione
Il progetto dei test unitari non ha bisogno della ridenominazione, quindi disattivala.
<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>Dove ClassLibrary.dll.map.xml è il file map XML generato per l’assembly target che stai testando.
In questo modo puoi eseguire i test unitari sul codice offuscato e usare il file map XML per risolvere eventuali problemi con i riferimenti ai nomi offuscati usati dal codice dei test. Con questa configurazione i test unitari continuano a funzionare anche dopo che al codice è stato applicato l’offuscamento.
Eseguire il progetto di esempio
Puoi scaricare il progetto di esempio qui . Per eseguire il progetto di esempio, segui queste istruzioni:
Estrai l’archivio
Estrai il file UnitTest.zip in una cartella del tuo computer.
Copia il file di licenza
Copia il tuo file di licenza nella cartella estratta.
Apri un terminale
Apri un prompt dei comandi o una finestra del terminale e spostati nella cartella in cui hai estratto i file.
Esegui i test
Inserisci il comando “dotnet test” per eseguire il progetto di esempio.

Output dei test unitari