최근 프로젝트에서 단위 테스트를 작성하기 시작했으며 모든 assert 문의 메시지 인수가 있음을 알게되었습니다.좋은 단위 테스트 메시지를 작성하는 방법
단위 테스트를 위해 좋은 메시지를 만드는 이유는 무엇입니까?
$cache->set('foo', 3);
$this->assertEquals($cache->get('foo'), 3, 'what should i say?');
고마워요!
최근 프로젝트에서 단위 테스트를 작성하기 시작했으며 모든 assert 문의 메시지 인수가 있음을 알게되었습니다.좋은 단위 테스트 메시지를 작성하는 방법
단위 테스트를 위해 좋은 메시지를 만드는 이유는 무엇입니까?
$cache->set('foo', 3);
$this->assertEquals($cache->get('foo'), 3, 'what should i say?');
고마워요!
주 사실.
고려 :
$this->assertEquals($person->age, 21, "Age is 21")
$this->assertEquals($person->age, 21, "Age of person born on 1990-12-20");
: 대 좋은 단위 테스트 메시지가 버그가 위치를 신속하게 추측 도움이 될 것입니다. 나쁜 것은 사냥에 더 많은 시간을 소비하게 만듭니다.
저는 대개 그걸 멋지고 짧게 유지합니다. 테스트 대상입니다. 이 메시지는 잘못되었을 수있는 모든 것에 대한 이야기를 설명 할 필요는 없으며 독자를 올바른 방향으로 향하게해야합니다. 시험은 거기서부터 알아낼 수있을만큼 분명해야합니다.
일반적으로 테스트에 익숙하지 않은 사람은 적어도 약간의 컨텍스트를 가지며 테스트를 잘 아는 사람은 무엇이 잘못되었는지 정확히 알 수 있도록 메시지를 작성합니다. 뭔가 테스트가 잘못되었습니다).
위의 예에서 "foo '에 대한 캐시"와 같은 메시지가 표시되어 "foo'에 대한 캐시가 예상대로 3이지만 67 일 것입니다." 테스트에 익숙한 사람은 "예상 3보다 더 유용 할 것이지만 테스트 abc의 123 행에서 67입니다."
는 (나는 주로 자바 개발자, 그래서 나는이 JUnit을하는 것처럼 말하는거야;. 나는 phpunit을 가정하거나 같은 방법에 대한 작업을 불렀다 무엇이든) 시험
"캐시의 foo 값은 3입니다."(_why_에 대해 더 많이 알았다면 대답의 3 분의 1은 예상되는 부분 임). 일반적으로 보유하고있는 테스트 케이스를 나타내는 긍정적 인 진술을 작성하십시오. (또한 http://stackoverflow.com/questions/1074928/should-the-junit-message-state-the-condition-of-success-or-failure를 참조하십시오.) –