최상의 답변
테스트 실행기는 테스트를 실행할 수있는 기능입니다. Jasmine은 테스트 러너와 라이브러리 만 포함하고 MOCA에는 자체 테스트 러너도 있습니다. 테스트 실행기는 다른 환경에서 테스트를 실행할 수 있습니다. 브라우저에서 테스트를 마치면 너무 많은 시간이 걸리고이 시나리오에서는 헤드리스 브라우저라고하는 Google의 인형극과 작업 할 도구를 사용할 수 있습니다. 브라우저의 헤드리스 버전을 제어하는 고급 API를 제공하는 노드 라이브러리입니다. 또한 양식 제출을 자동화 할 수있는 페이지의 PDX 스크린 샷을 생성하는 등의 작업을 수행하도록 구성 할 수도 있습니다. 또한 UI 테스트도 가능합니다.
Answer
테스트 하네스는 테스트 결과를 수집하는 프레임 워크의 일부이며 테스트 실행기는 일부 테스트를 실행합니다.
테스트 장치는 테스트 결과의 의미를 이해해야합니다. 즉, 대부분의 하네스는 All Tests Pass또는 32 Tests was skipped 라는 것을 이해하는 반면 테스트 러너는Regression으로 표시된 모든 테스트 실행 또는Binder Object와 관련된 모든 테스트 실행 과 같은 작업을 수행했습니다.
이전 고용주를 위해 Perl 프레임 워크를 작업 할 때 테스트를 선택한 다음 테스트 하네스에 전달하여 실행하는 테스트 실행기를 만들었습니다.이 테스트는 제가 Red인지 Green인지 의미 론적으로 알려줍니다. 내 Red / Green 테스트를 위해. 이것은 perl에 있었고 Test :: Harness 는 제가 하네스로 사용한 핵심 개체입니다. 이 모듈은 이후 TAP :: Harness 로 대체되었지만 사용중인 버전이 아닙니다. 표준 펄 테스트 실행기는 prove 라고 불리지 만, 내 프레임 워크에 대해 특별한 것을 이해해야했기 때문에 직접 작성했습니다. 특히 파일은 프레임 워크 버전에 따라 위치가 변경되어 동일한 버전의 모든 파일이 함께 유지되고 함께 링크되지만 여러 버전의 프레임 워크가 지원되어야하지만 동일한 스크립트 내에 표시 될 수 없습니다.