2016-07-29 4 views
0

필자는 JavaScript 테스트, 특히 BDD 프레임 워크와 Chai과 같은 라이브러리를 사용합니다. 여기서는 인간 친화적 인 방식으로 테스트를 설명하고 문자열로 이름 테스트를 할 수 있습니다. "UserProfile -> Update First Name"을 입력 한 다음 테스트를 실행할 때이 메시지를 출력으로 봅니다.Erlang EUnit에서 인간 친화적 인 테스트 메시지가 더 많이 나옵니까?

더 자연스러운 방법으로 Erlang 테스트를 작성하거나 적어도 코멘트를 실행하는 것이 아니라 실패한 테스트의 이름을 볼 수 있습니까?

답변

2

예. 테스트에 설명을 추가하려면 일반 테스트 대신 "테스트 객체"가되어야합니다. ?_test 매크로 래핑한다

이다
foo_test_() -> 
    ?_test(
     begin 
     run_foo(), 
     ensure_foo_works() 
     end). 

함수의 이름 _test_로 끝나야하고, 시험의 본문이 행

foo_test() -> 
    run_foo(), 
    ensure_foo_works(). 

예를 들어,이 시험을 변경할 . 밑줄로 시작하는 다른 "래퍼 매크로"가 있습니다. 예를 들어, 단순한 주장은 다음과 같이 쓸 수있다 :

foo_test_() -> 
    {"Ensure that foo works", 
    ?_test(
     begin 
     run_foo(), 
     ensure_foo_works() 
     end)}. 

check_foo_test_() -> 
    {"Check that foo is ok", ?_assertEqual(ok, foo())}. 
: 당신이 "테스트 객체를"일단

%% before 
check_foo_test() -> 
    ?assertEqual(ok, foo()). 

%% after 
check_foo_test_() -> 
    ?_assertEqual(ok, foo()). 

, 당신은 첫 번째 요소는 문자열입니다 튜플, 그것을 포장 할 수 있습니다

테스트가 실패하면 해당 설명이 인쇄됩니다. eunit을 자세한 정보 표시 모드로 실행하면 테스트 실행시에도 인쇄됩니다.