Roslyn - 动态(运行时)流

时间:2015-06-20 20:10:10

标签: c# code-coverage roslyn

我开始和罗斯林一起玩。解析代码并进行静态分析相对容易。

我想知道是否可以将它用于运行时分析?我想调用带参数的方法并检查执行了哪些分支。换句话说,我需要一个运行时执行计划。 这是可以用Roslyn完成的吗?

1 个答案:

答案 0 :(得分:0)

我不知道最佳解决方案是什么,我会推迟SLaks在大多数情况下推荐的任何内容。

然而......

如果你想和Roslyn一起做,你当然可以。事实上,在我的公司做了类似的事情(我们将单元测试映射到他们调用的方法)。

以下是我们方法的高级概述。

  1. 重写解决方案中的每个函数,以便在某些全局静态查找/数据结构中命中时进行记录。您可以一次迭代一个文件,并在每个文件上使用CSharpSyntaxRewriter。 (在您的情况下,您将在分支或逐行重写)

  2. 一次运行一个单元测试,通过分析全局查找来查看运行的内容。

  3. 在所有单元测试中汇总结果,以了解您的完整代码覆盖率。