Conducir NDepende con NUnit
-
21-08-2019 - |
Pregunta
¿Es posible usar NUnit para ejecutar consultas CQL usando NDepend? Sería bueno poder incluir los dlls NDepend en una biblioteca UnitTests y escribir pruebas como:
[Test] public void
DomainAssemblyHasNoDatabaseDependencies
...
o algo similar.
Esto facilitaría la integración con Team City y fallaría automáticamente la compilación si fallara alguna de las pruebas de análisis estático.
Solución
Esto es posible gracias a NDepend.API lanzado con NDepend v4, y especialmente gracias al espacio de nombres NDepend.CodeQuery que contiene lo que se necesita para ejecutar programáticamente consultas de código CQLinq o CQL y reglas presentadas como una cadena simple.
Aquí hay documentación para comenzar con NDepend.API .
Recomendamos mirar el código fuente de PowerTool llamado Código de consulta con CQLinq disponible en $ NDependInstallPath $ \ NDepend.PowerTools.SourceCode \ NDepend.PowerTools.sln
Observe finalmente que, gracias a NDepend.API, también puede escribir directamente sus consultas / reglas de código o incluso el analizador estático con código C # o VB.NET (de ahí el código que puede integrarse en sus pruebas unitarias).