Unit testing 如何对Erlang函数进行单元测试?
我想为这个函数创建一个单元测试, 下面是我的单元测试用例:Unit testing 如何对Erlang函数进行单元测试?,unit-testing,erlang,Unit Testing,Erlang,我想为这个函数创建一个单元测试, 下面是我的单元测试用例: get_ue_supported_srvcc([]) -> ?SRVCC_3GPP_NONE_SUPPORT; get_ue_supported_srvcc([#sip_contactV{extensionsP = EP} | T]) -> case b2bLib:support_tags_to_value(EP) of ?SRVCC_3GPP_NONE_SUPPORT -> g
get_ue_supported_srvcc([]) ->
?SRVCC_3GPP_NONE_SUPPORT;
get_ue_supported_srvcc([#sip_contactV{extensionsP = EP} | T]) ->
case b2bLib:support_tags_to_value(EP) of
?SRVCC_3GPP_NONE_SUPPORT ->
get_ue_supported_srvcc(T);
Flag ->
Flag
end.
错误是:
support_tags_to_value(FieldStr) ->
lists:sum([Val || {Tag, Val} <- ?TAGLIST, lists:member(Tag, FieldStr)]).
这意味着测试正在调用一个未定义的函数。要么找不到该模块,要么该模块没有定义具有该名称和arity的函数
整个错误消息有点混乱。现在我们知道出现了一个“函数未定义”错误,我们应该看看这一行:
**error:undef
即使它说错误发生在这个函数中,这是一个未定义的函数。
因此,要么测试的运行方式使其找不到b2bLib
模块,要么该模块不定义一个名为support\u tags\u to\u value
的函数,只取一个参数。如果是前者,请将-pa path/to/ebin
添加到Erlang命令行,以便将正确的目录添加到代码路径。错误为:
support_tags_to_value(FieldStr) ->
lists:sum([Val || {Tag, Val} <- ?TAGLIST, lists:member(Tag, FieldStr)]).
这意味着测试正在调用一个未定义的函数。要么找不到该模块,要么该模块没有定义具有该名称和arity的函数
整个错误消息有点混乱。现在我们知道出现了一个“函数未定义”错误,我们应该看看这一行:
**error:undef
即使它说错误发生在这个函数中,这是一个未定义的函数。
因此,要么测试的运行方式使其找不到
b2bLib
模块,要么该模块不定义一个名为support\u tags\u to\u value
的函数,只取一个参数。如果是前者,请将-pa path/to/ebin
添加到Erlang命令行,以便将正确的目录添加到代码路径。您是否可以提供支持标签u to_值的输出([{“+sip.instance”,“{quoted_string,“}},{+g.3gpp.icsi ref”,“urn%3Aurn-7%3A3gpp service.ims.icsi.mmtel},“+g.3gpp.mid call”,“+g.3gpp.srvcc alerting”、“+g.3gpp.ps2cs srvcc orig pre alerting”、“video”])。您可以提供支持标签到值的输出([{“+sip.instance”、{quoted_string”、{“+g.3gpp.icsi ref”、{quoted"字符串、{urn%3urn 7%3gpp service.ims.icsi.mmtel”}、+g.3gpp.mid call”、“+g.3gpp.srvcc pre alerting”、“+g.3gpp pre alerting”?”视频“])。
in function b2bLib:support_tags_to_value/1