现有的Ruby覆盖工具无法处理(定位或统计)eval中执行的代码。 这是因为Ruby内置的coverage模块没有公开必要的钩子来捕获它。 Covered使用Ruby 2.6,RubyVM :: AST.parse(源代码)存在,它为我们提供了一个精细的工具来计算初始源代码覆盖率(即哪些行是可执行的),从而可以计算“模板”的覆盖范围。