我希望能够集成到我们的构建过程中,在每次构建之后与先前构建进行比较的能力,对特定方法列表的任何依赖关系进行任何代码更改.
因此,如果我有两个访问数据库的方法,我希望能够判断是否有任何方法调用这两个方法中的任何一个,在依赖树中一直有任何代码更改.
这样的代码查询应该可以满足您的需求:
// <Name>Methods that call Parse(String) or get_TestName() and that was added or where cpde was changed</Name>
from m in Methods
let depth0 = m.DepthOfIsUsing("NUnit.Core.RuntimeFramework.Parse(String)")
let depth1 = m.DepthOfIsUsing("NUnit.Core.Test.get_TestName()")
where (depth0 >= 0 || depth1 >= 0)
&& (m.CodeWasChanged() || m.WasAdded())
orderby (depth0 != null ? depth0 : depth1)
select new { m, depth0, depth1 }
Run Code Online (Sandbox Code Playgroud)
当然,warnif count > 0如果您愿意,您可以使用前缀将其转换为规则。
这是此代码查询的实际操作,下划线方法是自基线以来代码发生更改的方法,粗体方法是自基线以来添加的方法。
您可以右键单击带下划线的方法,要求使用您喜欢的比较工具查看源代码中的差异。
您还可以将结果导出到图表(按钮导出到图表),但随后您可能会得到不相交的图表,因为未更改的方法将丢失:
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |