[erlang-questions] clarify: EUnit ?assertError vs try/catch
Samuel
samuelrivas@REDACTED
Tue Jan 19 09:41:51 CET 2016
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
--
Samuel
More information about the erlang-questions
mailing list