是否可以使用NUnit使用NDepend运行CQL查询?能够将NDepend dll包含在UnitTests库中并编写类似以下的测试将是很好的:
[Test] public void
DomainAssemblyHasNoDatabaseDependencies
...
或类似的东西。
这将使与Team City的集成非常容易,并且在任何静态分析测试失败的情况下会自动使构建失败。
最佳答案
这要归功于NDepend v4发行的NDepend.API,尤其要感谢命名空间NDepend.CodeQuery,其中包含以编程方式运行CQLinq或CQL代码查询以及以简单字符串形式表示的规则所需的内容。
Here is documentation to get started with NDepend.API。
我们建议您在$ NDependInstallPath $\NDepend.PowerTools.SourceCode\NDepend.PowerTools.sln中查看名为CQLinq的PowerTool的源代码。
最后要注意,由于使用了NDepend.API,您还可以使用C#或VB.NET代码(因此可以嵌入到单元测试中的代码)直接编写代码查询/规则甚至是静态分析器。
关于nunit - 用NUnit驱动NDepend,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/504650/