[erlang-questions] clarify: EUnit ?assertError vs try/catch
Bengt Kleberg
bengt.kleberg@REDACTED
Tue Jan 19 09:47:56 CET 2016
Thank you. {badmatch, _} worked.
On 01/19/2016 09:41 AM, Samuel wrote:
> Note that the error you are getting is not badmatch, but {badmatch,
> Stuff} (stuff being the right side of the failed match). In your first
> example the tests passes because you match against {badmatch, _}, but
> in the second you expect just the atom badmatch. If you do
> ?assertError({badmatch, _}, ...) it should work.
>
> On 19 January 2016 at 09:22, Bengt Kleberg <bengt.kleberg@REDACTED> wrote:
>> Greetings,
>>
>> How should I use EUnit ?assertError to replace try/catch?
>> I have erl -version
>> Erlang (SMP,ASYNC_THREADS) (BEAM) emulator version 5.10.4.1
>> (I think it is R16B03)
>>
>>
>> This EUnit test case pass:
>> try
>> apython( [{python_init, MFA}] ),
>> erlang:throw( fail )
>>
>> catch error:{badmatch, _} -> ok
>>
>> end
>>
>>
>> When I try
>> ?assertError( badmatch, apython([{python_init, MFA}]) )
>>
>> it fails with:
>> **error:{assertException_failed,
>> [{module,ise_scheduler_gen_server_tests},
>> {line,424},
>> {expression,"apython ( [ { python_init , MFA } ] )"},
>> {pattern,"{ error , badmatch , [...] }"},
>> {unexpected_exception,
>> {error,
>> {badmatch,
>> {error,
>> {function_clause,
>> [{ise_scheduler_gen_server,...},{...}|...]}}},
>> [{ise_scheduler_gen_server_tests,apython,2,[{file,...},{...}]},
>> {ise_scheduler_gen_server_tests,'-python_fail_test_/0-fun-0-',
>> 0,
>> [{...}|...]},
>>
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-questions
>
>
More information about the erlang-questions
mailing list