Guidare NDepend con NUnit
-
21-08-2019 - |
Domanda
È possibile utilizzare NUnit per eseguire query CQL utilizzando NDepend? Sarebbe bello poter semplicemente includere le dll NDepend in una libreria UnitTests e scrivere test come:
[Test] public void
DomainAssemblyHasNoDatabaseDependencies
...
o qualcosa di simile.
Ciò semplificherebbe l'integrazione con Team City e fallirebbe automaticamente la compilazione se uno qualsiasi dei test di analisi statica fallisse.
Soluzione
Questo è possibile grazie a NDepend.API rilasciato con NDepend v4, e in particolare grazie allo spazio dei nomi NDepend.CodeQuery che contiene ciò che è necessario per eseguire in modo programmatico query e regole di codice CQLinq o CQL presentate come una semplice stringa.
Ecco la documentazione per iniziare con NDepend.API .
Si consiglia di esaminare il codice sorgente di PowerTool denominato Codice query con CQLinq disponibile in $ NDependInstallPath $ \ NDepend.PowerTools.SourceCode \ NDepend.PowerTools.sln
Nota infine che grazie a NDepend.API puoi anche scrivere direttamente le tue query / regole di codice o anche un analizzatore statico con codice C # o VB.NET (quindi codice che può essere incorporato nei tuoi test unitari).