2013-03-24 2 views
0

저는 CasperJS/PhantomJS (헤드리스 웹킷)를 사용하는 프로그램을 작성해 왔으며 캐스퍼 (Keper)의 빌트인 테스트 유닛 테스팅을 사용하고 있습니다. 표준 assert(test, "message") 패턴을 사용합니다. 나는 패스 테스트의 로그 레벨을 info으로 설정하는 것이 좋을 것이라고 생각했지만 두 API는 분리되어 있으며 테스트 로직을 복제하거나 해킹을 서로 복제해야하는 것처럼 보입니다.로깅 및 유닛 테스트가 단일 API에서 구현되지 않는 이유는 무엇입니까?

JUnit과 PHP로 제한된 경험으로 돌아가서, 로깅 옵션을 기억하지 못했습니다. Google은 JUnit에 대한 몇 가지 로깅 옵션을 보여 주지만, 꼭 필요한 것 같습니다.

이 제품은 CasperJS인가요? 별개의 로깅/유닛 테스트 API를 사용하는 것이 일반적인가요? 그렇다면, 이것은 단지 유산이 다른 것의 결과일까요? 아니면 두 개의 분리 된 시설을 가진 건축 학적/언어 적 이유가 있습니까?

답변

1

단위 테스트 및 로깅은 다소 직교 개념입니다.

유닛 테스트는 실패시 명확한 포인터를 제공하고 추가 조사를 위해 맡겨야합니다. 일반적으로 통과 할 때 아무 것도 출력하지 않아야합니다. 프레임 워크는 통과 한 횟수와 실패한 횟수의 요약을 인쇄합니다.

+0

맞아요, 발산은 인라인 테스트 대 독립적 인 테스트에 달려 있다고 생각합니다. (특히 OO 세계에서) 여러 가지 유즈 케이스를 표현하기 위해 모의 데이터/객체를 만드는 단위 테스트 배치를 사용하는 경우, 로깅만으로도 상황을보고 할 수 있습니다. 캐스퍼는 테스트 용으로 제작되었으므로 단위 테스트에서 다루는 것과 밀접한 관련이 있습니다. – Indolering

관련 문제