实现代码覆盖关键在于erlang中cover,他的实现机制是对module进行再编译,实际上就是加上了自己的統計方法.然后通过cover:analyse(Module)返回統計結果.
一个简单例子:
利用EUnit进行自动化測試,以unit_start为例:
-module(eunit_start).
-include_lib("eunit/include/eunit.hrl").
reverse_test() -> ?assert(1 + 1 =:= 2).
执行:
cover:compile(unit_start),
unit_start:test(),
cover:analyse_to_file(unit_start,"unit_start.html",[html]).
在unit_start.html中就会看到每行代碼执行的次数.
一个简单例子:
利用EUnit进行自动化測試,以unit_start为例:
-module(eunit_start).
-include_lib("eunit/include/eunit.hrl").
reverse_test() -> ?assert(1 + 1 =:= 2).
执行:
cover:compile(unit_start),
unit_start:test(),
cover:analyse_to_file(unit_start,"unit_start.html",[html]).
在unit_start.html中就会看到每行代碼执行的次数.
本文介绍如何使用Erlang内置的cover工具进行代码覆盖率分析。通过重新编译模块并加入统计方法,可以获取到每个模块的代码执行情况。文中以EUnit自动化测试为例,演示了如何生成HTML格式的覆盖率报告。
157

被折叠的 条评论
为什么被折叠?



