2013-06-12 2 views
5

표준 입력에서 일부 입력을 읽고 처리하고 일부 출력을 표준 출력에 보내는 프로그램을 작성하고 있습니다. 그래서 매번 샘플/테스트 입력을 입력 할 필요가 없으므로 입력을 TXT 파일에 저장하고 해당 예상 출력을 다른 TXT 파일에 저장했습니다.Visual Studio 2012 콘솔 응용 프로그램의 테스트 입/출력

VS가 입력 TXT 파일에서 자동으로 실행되도록 실행 파일 (디버그 또는 릴리스 모드 또는 잠재적으로 프로파일 러 아래에 있음)을 실행하려면 어떻게해야합니까? VS가 자동으로 프로그램의 출력 대 예상되는 출력 TXT 파일을 확인할 수 있습니까? 만약 그들이 동일하지 않다면 나에게 편견을 보여줄 수 있다면 좋을 것입니다. 다른 입력/예상 출력 파일로 다양한 테스트를 실행하기 위해 테스트 프레임 워크를 설정할 수 있습니까?

통합 테스트를 수행해야하므로 정상적인 단위 테스트를 사용할 수 없습니다.

편집 : 가치가 무엇인지, 나는 C++을 사용하고 있습니다.

+0

이 질문의 대답은 다음 중 일부를 해결합니다. http://stackoverflow.com/questions/9613059/piping-input-into-a-c-program-to-debug-in-visual-studio – SirDarius

+0

@SirDarius 감사합니다. 출력을 파일로 파이프 할 수있는 것처럼 보입니다. 어쩌면 내가 프로그램을 실행 한 후 expected.out.txt와 actual.out.txt를 비교하도록 빌드 시스템에 알릴 수 있습니까? 그런 식으로하는 어떤 방법? –

답변

1

앞서 언급 한 것처럼 above에서 일부 파일의 입력을 리디렉션 할 수 있습니다.

마찬가지로, 당신은 몇 가지 임시 파일에 출력을 리디렉션 할 수 있습니다 다음 파일을 비교하는 몇몇은 diff 도구를 호출 : "명령 인수"에서

프로젝트 속성의 "디버깅"카테고리의 속성을 추가

> actual.out.txt && diff actual.out.txt expected.out.txt 

diff을 apropriate diff 도구로 바꿀 수 있습니다.

일반적으로 &&을 사용하여 프로그램 실행 후 모든 스크립트를 호출 할 수 있습니다.

+0

'일반적으로 && ' Nifty를 사용하여 프로그램 실행 후 모든 스크립트를 호출 할 수 있습니다. '&&'연산자가 실행중인 프로그램의 리턴 코드에 민감하게 될 것입니까? 예를 들어, 프로그램이 오류 코드와 함께 종료되면'&&'다음에 오는 스크립트가 여전히 실행됩니까? –