goss에서 테스트 실행 및 결과를 보는 방법

이 기사는 goss advent calender 2019 참가 기사입니다.

마지막 기사에서 계속됩니다.

작성한 테스트 항목을 실행(검증)은 다음을 실행합니다.
goss validate

혹은 이하와 같이 생략계로 실행합니다.
goss v

테스트 항목 작성에 사용한 add 등도 약어는 있지만 validate만큼 사용하지 않기 때문에
여기서 소개가 됩니다.

테스트 실행 결과를 보는 방법



이것으로 실행하면 다음과 같은 결과가 됩니다.

모두 성공의 경우


실패를 포함한 경우


도트(녹색)로 표기되어 있는 것은 테스트는 성공해 YAML에 쓴 기대 결과에 따른 내용이었던 것으로
F(적색)로 표기되고 있는 것은 테스트에 실패해, 예상대로의 결과와 다른 내용이었던 것입니다.

S(황색)로 표기되어 있는 것은 Skip로, 특정의 테스트가 실패하고 있기 때문에 테스트되지 않고 스킵 되었을 경우에 표기됩니다.

이미지 예제의 경우 tcp6 80 포트의 Listen 상태가 실패했기 때문에 Listen 포트의 바인드 IP 테스트를 건너뛰고 있습니다.

또 F가 된 테스트 실패에 대해서는, 상세가 표시되어 테스트로 쓴 항목과 실제의 취득치가 나란히 표시됩니다.

마지막으로 테스트 실행에 소요된 시간과 테스트 항목 수, 테스트 실패 수 및 건너뛰기 수가 표시됩니다.

다른 결과 표시 사용



validate 부속 명령을 사용하면 --output 또는 -o 옵션으로 표시 형식을 변경할 수 있습니다.

개인적으로 자주 사용하는 것은 documentation 과 tap로 정상계도 포함한 상세 표시와
slient로 표시하지 않는 형식입니다.

documentation은 육안으로 정상계도 보고 싶은 경우에
tap는 정상계도 포함해 테스트 내용과 결과를 Excel에 출력할 때 사용하고 있습니다.
tap 형식에서도 직접 표 형식이 되지 않으므로 CSV화할 수 있도록 다소 가공을 추가합니다.

slient는 이름대로 결과 표시를 억제하는 데 사용됩니다.

또한 개인적으로 사용한 적은 없지만 json 또는 json_oneline 형식은 다른 앱에 결과를 가져올 때 유용하다고 생각합니다.
DB에 직접의 경우는 ElasticSearch나 MongoDB등 스키마리스에 한정됩니다만 받아들일 수 있다고 생각합니다.
(해본 적이 있는 분이 계시면 코멘트를 꼭 주세요)

또 그 밖에도 junit 형식이나 nagios 형식의 출력이 있으므로, 그러한 형식을 입력으로서 사용할 수 있는 툴이면 제휴 가능하다고 생각합니다. (junit이나 nagios는 자세하지 않기 때문에 상세 할애입니다)

좋은 웹페이지 즐겨찾기