프로그램을 자동으로 테스트하기 위한 방법
글쓴이: ezicomezigo / 작성시간: 월, 2014/08/04 - 5:08오후
안녕하세요.
리눅스 입문 초보입니다.
터미널에서 프로그램에 사용자의 명령을 자동으로 넣어줄수 있는 방법이 없을까요?
예를 들어 A라는 프로그램에 run 이라고 입력하면 동작하고, stop이라고 하면 멈춘다고 가정할때
이 A라는 프로그램에 명령을 (run과 stop)을 자동으로 반복적으로 넣어 줄수 있는 방법이 없을까요?
검색을 해봐도, (제가 아는 지식이 별로없어서 검색키워드가 알맞지 않아서 일것같습니다.) 내용이 안나와서 이렇게 올립니다.
Forums:
파이프라인을 찾아보세요
run,stop을 반복으로 뿌려주는 프로그램을 A라고 놓고 처리하는 프로그램을 B라고 놓으면,
A | B
를 통해 A의 표준출력이 B의 표준입력으로 들어가게 됩니다.
감사합니다. 많은 도움이 되었습니다.
감사합니다. 많은 도움이 되었습니다.
yes | someprogramno |
또는
expect를 사용합니다.
감사합니다. 근데 제가 실력이 미천한지라,
감사합니다.
근데 제가 실력이 미천한지라, 알려주신것이 잘 이해가 안됩니다...ㅠㅠ
어떻게 동작하는 건가요? (이런거 조차 물어보면안되겠죠...?)
한참 더 공부해야겠습니다.
<<<word 는 bash에서 제공하는 Here
<<<word
는 bash에서 제공하는 Here Strings기능으로, word를 표준입력으로 보냅니다.|
는 파이프란 기능으로, A | B | C와 같이 A의 표준출력이 B의 표준입력이 되고, B의 표준출력이 C의 표준입력이 되는 구조입니다. 프로그램은 모두 동시에 작동되어, 마치 파이프와 같은 동작을 하게 됩니다.프로그램이 표준입력의 일부분을 읽으면, 그 내용은 표준입력 버퍼에서 삭제됩니다. 읽고 처리하고 읽고 처리하고를 반복하는 구조라면, 제어문자 `\n(줄바꿈 문자)'나 ` (스페이스 바)'등을 입력하면 명령어들을 구분지어 프로그램에 전달할수 있습니다.
expect는 `id : '란 문장이 뜨면, '별님'을 입력하게 만들수 있는 자동화 툴입니다. 완벽하게 만들기 어려우니, 별도의 인증 및 처리 서비스를 제공하는 편이 낫습니다.
자세한 설명 감사드립니다. 많은 도움이 되었습니다.
자세한 설명 감사드립니다.
많은 도움이 되었습니다.
입력부와 코어를 분리해서 자체 테스트를 구현하는 방법도..
직접 개발하는 프로그램이라면 양자를 분리한 후 테스트만을 위한 실행파일을 만드는 방법도 있습니다. 유닛 테스트처럼 되는 거죠. 대부분의 경우 이미 분리가 돼있을테니 따로 작업할 것도 별로 없을 듯.
--
그런 방법이 있었네요.. 감사합니다.
그런 방법이 있었네요..^^ 감사합니다.
TCL을 하실수 있다면 expect 라는 물건이
TCL을 하실수 있다면 expect 라는 물건이 있습니다....
python같은 기타 언어에서도 expect library가 있는 것으로 알고 있습니다.
댓글 달기