2016-09-14 9 views
0
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. 

私はこの機能のためのユニットテストを作成したい、 ここでは私のユニットテストケースである:Erlang関数の単体テスト方法は?

get_ue_supported_srvcc_test() -> 
    Contact = 
    [#sip_contactV{extensionsP = 
       [{"+sip.instance", 
      {quoted_string,"<urn:gsma:imei:35502406-005233-0>"}}, 
       {"+g.3gpp.icsi-ref", 
      {quoted_string,"urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel"}}, 
       "+g.3gpp.mid-call", 
       "+g.3gpp.srvcc-alerting", 
       "+g.3gpp.ps2cs-srvcc-orig-pre-alerting", 
       "video"]}], 

    ?assertEqual(7, b2bAtcfLib:get_ue_supported_srvcc(Contact)). 

しかし、私はそれを実行したとき、私はこのエラーを取得する:

======================== EUnit ======================== 
module 'b2bAtcfLib' 
    b2bAtcfLib_tests: get_ue_supported_srvcc_test (module 'b2bAtcfLib_tests')...*failed* 
in function b2bLib:support_tags_to_value/1 
    called as support_tags_to_value([{"+sip.instance",{quoted_string,"<urn:gsma:imei:35502406-005233-0>"}}, 
{"+g.3gpp.icsi-ref", 
    {quoted_string,"urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel"}}, 
"+g.3gpp.mid-call","+g.3gpp.srvcc-alerting", 
"+g.3gpp.ps2cs-srvcc-orig-pre-alerting","video"]) 
in call from b2bAtcfLib:get_ue_supported_srvcc/1 (src/b2bAtcfLib.erl, line 1735) 
in call from b2bAtcfLib_tests:'-get_ue_supported_srvcc_test/0-fun-0-'/1 (test/unit/b2bAtcfLib_tests.erl, line 49) 
in call from b2bAtcfLib_tests:get_ue_supported_srvcc_test/0 
**error:undef 
    output:<<"">> 

    [done in 0.008 s] 
======================================================= 

エラー「b2bLib:support_tags_to_value/1」がundefであることを意味する。

この機能b2bLib:support_tags_to_valueに対して定義:

support_tags_to_value(FieldStr) -> 
    lists:sum([Val || {Tag, Val} <- ?TAGLIST, lists:member(Tag, FieldStr)]). 
+0

support_tags_to_value([{"+ sip.instance"、{quoted_string、 ""}}、 {"+ g.3gpp.icsi -g.3gpp.mid-call "、" + g.3gpp.srvcc-alerting "、 {quoted_string、" urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel "}}、 " 、 "+ g.3gpp.ps2cs-srvcc-orig-pre-alerting"、 "video"])。 – byaruhaf

答えて

3

エラーは次のとおりです。

**error:undef 

テストが定義されていない関数を呼び出していることを意味します。モジュールが見つからないか、問題のモジュールがその名前と属性を持つ関数を定義していません。

エラーメッセージ全体がちょっと混乱します。今、私たちは「機能未定義」エラーを得た、私たちはこの行を見てする必要があることを知っている:

in function b2bLib:support_tags_to_value/1 

それはエラーがこの機能「の」発生したことを述べているにもかかわらず、これは未定義だ関数であります。だから、どちらかのテストは、それがb2bLibモジュールが見つからない、またはそのモジュールは一つの引数を取るsupport_tags_to_valueという関数を定義していないような方法で実行され

。前者の場合は、正しいディレクトリをコードパスに追加するために、Erlangコマンドラインに-pa path/to/ebinを追加します。

関連する問題