문제

아래에 설명 된 질문이 있습니다.

파일의 단어 수를 계산하는 Java 클래스를 테스트하는 데 어떤 문제가 발생합니까?

함수의 서명은 다음과 같습니다.

public int wordCount(String filename)

글쎄, 이것은 주니트 테스트 질문입니다.
문제를 알고 있다면 그 해결책은 무엇입니까?

도움이 되었습니까?

해결책

그래서 당신의 질문은 무엇을 테스트해야합니까? 그렇다면, "단어"의 정의가 올바르게 구현되었는지 확인해야한다고 말해야합니다 (예 : "스택 오버 플로우"라는 단어 또는 두 줄) 새 선이 올바르게 처리되며 숫자는 단어로 계산됩니다 (예 : 차이 차이”. 8 "및"8 "), (특별한 그룹) 문자 (예 : 하이픈)가 올바르게 계산됩니다.

또한 파일이 존재하지 않는 경우 메소드가 예상 값 (또는 예외)을 반환하는지 여부를 테스트해야합니다.

이것은 좋은 출발점이어야합니다.

다른 팁

Sfussenegger의 목록에 파일 처리 확인을 추가하겠습니다.이 방법이 찾을 수없는 파일 (NULL FILENAME 포함)에 올바르게 응답하거나 읽기 권한이 부족합니까?

또한 SFUSSENEGGER의 정확성 목록에 중복 계수 및 사례 민감도 규칙을 추가하겠습니다.

물론,이 모든 것은이 방법이 이러한 모든 세부 사항에 대해 어떻게 행동 해야하는지 알아야합니다. 누군가에게 "단어를 계산"하라고 말하기는 쉽지만 그 과제에는 미묘함이 있습니다.

좋은 단위 테스트 세트를 작성하는 데 큰 이점 중 하나입니다.

이것은 정말로 작업처럼 들립니다 적합 : 통합 테스트를위한 프레임 워크. Ant 및 Junit과 함께 작동하는 승인 테스트 프레임 워크입니다.

내 중 한 명이 그러한 작업을 수행 하고이 프레임 워크를 사용했습니다. 하나의 HTML/Wiki 테이블 내에 많은 테스트 케이스를 쓸 수 있습니다. FIT는 각 줄을 테스트중인 함수의 매개 변수로 해석하고 출력을 확인합니다.

예를 들어:

Example for FIT test

이 테이블에는 세 가지 테스트 사례의 결과가 표시됩니다. 두 명은 통과하고, 하나는 실패했습니다.

문장을 작성하고 테이블의 단어 수를 정의하면 적합을 사용할 수 있습니다. 적합하게 실행되고 결과는 새 테이블에 표시됩니다.

자세한 내용은 참조하십시오 적합에 대한 소개.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top