테스트 목적으로 Perl 6에서 텍스트 터미널 인터페이스를 노출시키는 명령 줄 프로그램과의 상호 작용을 자동화하는 방법은 무엇입니까?Perl 6 : 터미널 기반 프로그램의 자동화 된 테스트
답변
콘솔 응용 프로그램의 실행 또는 테스트를 자동화하기 위해 Perl 6을 사용하려면 NativeCall을 사용하여 expect 라이브러리와 상호 작용할 것입니다. expect가 설치되면 설명서에 액세스하는 방법 (예 : 맨 페이지 이름)이 패키지 배포마다 다를 수 있지만 man libexpect
에 API 설명서가 표시됩니다.
Expect에는 프로그램을 시작하고 (에뮬레이트 된) 콘솔에 텍스트가 표시 될 때까지 기다렸다가 (텍스트를 "예상"하기 위해) 콘솔에 텍스트를 보낼 때까지 기다리는 API가 있습니다 (입력을 에뮬레이션하기 위해). 가장 일반적인 사용 사례는 암호 입력이 필요한 프로그램을 자동화하는 것입니다. Expect는 종종 인터프리터 인 스크립트로 작성되었지만 더 높은 수준의 프로그래밍 언어에서는 사용하지 않을 이유가 없습니다.
편집 : 다소 잘못된 질문에 답변했습니다. OP는 Perl 6 모듈을 Perl 6로 테스트하는 데 관심이 있습니다. 즉,이 모듈을 사용하는 두 번째 Perl 6 인터프리터를 시작할 수 있다는 기대는 여전히 가장 강력하고 엄격한 응용 프로그램 테스트 방법입니다. expect가 거의 모든 모듈과 호환되어야하기 때문에 모듈이 사용하는 터미널 라이브러리의 유형을 알 필요가 없습니다. 하위 프로세스의 STDIN 파이프로 텍스트를 전송할 수는 있지만 기대했던 것에서 얻을 수있는 하위 프로세스 (콘솔) 통신만큼 강력하지는 않습니다. 모듈이 사용하는 터미널 라이브러리를 도용하여 직접 사용하는 방법이 있는지 모르겠습니다.
@raiph 콘솔 응용 프로그램을 구동하는 데 주로 사용되는 자동화 도구입니다. 그러나 당신이 그런 식으로 사용하기를 원한다면 테스트를 위해서도 도움이 될 것입니다. – piojo
일반 인터페이스 인 경우 프로그램을 run
개만 입력하면 출력을 수집 할 수 있습니다. 현재 실험중인 Testo
module의 루틴은 is-run
입니다. 직접 사용하거나 실험 상태가 불편한 경우 guts of it을 자신의 도우미 루틴으로 복사하십시오.
- 1. FLEX 기반 응용 프로그램의 자동화 된 테스트
- 2. 자동화 된 응용 프로그램의 토큰 기반 인증
- 3. 레거시가 아닌 MFC 응용 프로그램의 자동화 된 GUI 테스트?
- 4. 배포판에서 Perl CGI 스크립트의 자동화 된 테스트
- 5. 리눅스 응용 프로그램의 자동화 된 GUI 테스트
- 6. iOS 응용 프로그램의 자동화 된 테스트 방법
- 7. 클라이언트/서버 응용 프로그램의 자동화 된 테스트
- 8. webrtc 응용 프로그램의 자동화 된 테스트?
- 9. WPF 응용 프로그램의 자동화 된 테스트 도구
- 10. 데스크톱 Java 응용 프로그램의 자동화 된 수용 테스트 방법
- 11. 자바 스크립트 기반 프론트 엔드를위한 테스트 자동화
- 12. Twilio - VMWare의 자동화 된 테스트
- 13. 자동화 된 거미 테스트
- 14. 가젯의 자동화 된 테스트
- 15. 자동화 된 테스트
- 16. 자동화 된 테스트
- 17. 자동화 된 테스트 자동화하기
- 18. C# 기반 테스트 자동화 기존 브라우저에 연결
- 19. MFC 기반 사용자 인터페이스에 대한 자동화 된 테스트
- 20. ABBOT & COSTELLO를 사용한 WebStart 프로그램의 자동화 된 테스트
- 21. 클라이언트/서버 Windows 데스크톱 응용 프로그램의 자동화 된 통합 테스트
- 22. C/C++ GUI 응용 프로그램의 자동화 된 테스트
- 23. Java 응용 프로그램의 자동화 된 벤치 마크 테스트 도구는 무엇입니까?
- 24. OS X 설치 프로그램의 자동화 된 통합 테스트?
- 25. Facebook 지원 응용 프로그램의 자동화 된 테스트 - 가능합니까?
- 26. CMS 기반 솔루션 용 테스트 자동화
- 27. 분산 시스템의 키워드 기반 테스트 자동화
- 28. 터미널 기반 IDE
- 29. Java의 자동화 된 웹 테스트 도구
- 30. 자동화 된 테스트 문제 테스트 예외
프로그램 콘솔 프로그램을 테스트하기 위해 Perl 6을 사용한다는 것을 의미합니까? – piojo
사용자 상호 작용이있는 메소드를 제공하는 Perl 6 모듈을 테스트 ('use test')합니다. –