emacs - 在 Emacs 中显示 EUnit 代码覆盖率

标签 emacs erlang rebar eunit

我正在使用 Rebar 构建我的 erlang 项目,并希望将其与 Emacs 更紧密地集成。我发现如果我将 {cover_print_enabled, true}. 添加到我的钢筋配置文件中,我会在构建输出中获得代码覆盖率。

但是,还有一个选项cover_export_enabled,它输出某种形式的二进制文件。是否有一个 emacs 插件可以解析该文件并对我的代码进行颜色编码以显示测试覆盖了哪些代码?

我真的不喜欢必须切换到浏览器才能查看代码覆盖率。

最佳答案

据我所知,没有这样的插件。

导出的封面数据文件读取方式如下:

  1. 读取一个字节,给出下一项的长度;我们称之为N
  2. 读取 Erlang 二进制术语格式的 N 字节。可以使用 binary_to_term/1 进行解码.
  3. 如果第 2 步中的术语的形式为 {'$size',X},则读取 X 字节并解码为术语。 (当该术语的二进制表示形式超过 255 个字节时,就会发生这种情况。)
  4. 从第 1 步继续,直到文件末尾。

Distel 有一个名为 erlext-read-obj in erlext.elbinary_to_term 的 Emacs Lisp 实现。 .

我还没有研究如何处理文件中的术语,一旦解码,但希望这足以让人们开始。阅读 lib/tools/src/cover.erl如果有疑问。

关于emacs - 在 Emacs 中显示 EUnit 代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16454669/

相关文章:

Emacs:交换替换查询

erlang - 运行 rebar ct 时如何跳过 deps?

erlang - Riak Core 中带有 rebar 的依赖冲突

erlang - 使用rebar释放时如何处理deps?

macos - 如何将 M-x 映射到 emacs 24 (Mac OS X Lion) 中的 "`"键

c++ - 尝试使用 prelude 设置 ggtags 和 flycheck 时错误的 emacs 配置

Emacs 组织模式 : How can i fold everything but the current headline?

erlang - 如何让 elixir 节点在启动时自动连接?

string - 如何删除Erlang中字符串内的周围引号?

erlang - 如何将 Webmachine 集成到 Erlang 应用程序中?