Вождение NDepend с NUnit
Можно ли использовать NUnit для выполнения запросов CQL с использованием NDepend? Было бы неплохо иметь возможность просто включить dll NDepend в библиотеку UnitTests и писать тесты, такие как:
[Test] public void
DomainAssemblyHasNoDatabaseDependencies
...
или что-то подобное.
Это упростит интеграцию с Team City и автоматически завершит сборку, если какой-либо из тестов статического анализа не пройден.
1 ответ
Это возможно благодаря NDepend.API, выпущенному с NDepend v4, и особенно благодаря пространству имен NDepend.CodeQuery, которое содержит то, что необходимо для программно запускаемых запросов и правил кода CQLinq или CQL, представленных в виде простой строки.
Вот документация для начала работы с NDepend.API.
Мы рекомендуем взглянуть на исходный код PowerTool с именем Query Code с CQLinq, доступным в $NDependInstallPath$\NDepend.PowerTools.SourceCode\NDepend.PowerTools.sln
Наконец, обратите внимание, что благодаря NDepend.API вы также можете напрямую писать запросы / правила кода или даже статический анализатор с кодом C# или VB.NET (отсюда и код, который может быть встроен в ваши модульные тесты).