2014-12-23 2 views
0

출력이 TTY 인 경우에만 출력을 채색하는 Node.js 콘솔 스크립트를 작성했습니다. 그렇지 않은 경우 출력물이 색상으로 표시되지 않습니다.Jenkins의 Node.js에 대한 TTY 시뮬레이션

이제 출력이 컬러화되어 있는지 확인하는 테스트가 있습니다. 올바른 ANSI 코드가 추가되었는지 확인하고 싶습니다. 이것은 Grunt를 사용하여 단위 테스트를 수동으로 실행할 때 훌륭하지만 Jenkins를 사용하여 단위 테스트를 자동으로 실행할 때 실패합니다.

이유는 명백합니다. Jenkins는 테스트에 TTY를 제공하지 않습니다.

  • 청각 장애를 사용할 수 있는지 여부를 확인하기 위해 테스트를 조정하고 것 또는 다른에 그 검사에 따라 :

    는 지금은 두 가지 옵션이 있습니다.

  • Jenkins 내의 테스트에 TTY를 제공하십시오.

첫 번째 옵션이 마음에 들지 않습니다. 테스트를 실행하는 환경에 따라 테스트가 달라지기 때문입니다.

두 번째 작업을 수행하려면 무엇을해야합니까?

답변

1

sinon을 사용하고 tty.isatty()을 스텁 아웃하는 방법에 대해 테스트 해보십시오. 그러면 true가 반환됩니까? 이런 식으로 진실과 거짓 모두를 테스트 할 수 있습니다.

+0

흠, 그렇습니다. 실제로는 아주 좋은 생각입니다. 이것에 대해 많이 고마워 :-)) –

관련 문제