나는 어떤 작업을 수행하고 파일에 데이터를 압축하고 그 파일 (Content-Type: application/force-download
)을 제공하는 웹 응용 프로그램을 개발 중입니다. 지금은 통합 테스트를 구현하고 있는데, 여기서 데이터 및 웹 앱을 통해 파일을 다시 제공합니다. 테스트가 예상 된 데이터를 다운로드 할 때 웹 응용 프로그램이 올바르게 작동합니다. this을 읽었으며 매우 고무적 이었지만 다운로드 할 파일을 만들 때 응답이 유효합니까?파일을 다운로드하는 통합 테스트
0
A
답변
1
몇 가지 방법을 사용할 수 있습니다. 최고에서 최악의 순서 (YMMV) :
결과를 의미 적으로 확인하십시오. 예를 들어 JSON의 경우 구문 분석이 가능한지, 예상되는 키와 값이 있는지 확인하십시오. 이미지의 경우 구문 분석이 가능하고 올바른 형식인지 확인하십시오.
프로 : 실제로 관심있는 것을 테스트하고있는 중입니다. 테스트 실패는 특정 문제를 지적 할 수 있습니다.
단점 : 더 많은 작업을 수행합니다.
바이트 단위로 파일을 직접 비교하십시오. "골든 마스터"방식. 파일이 몇 줄보다 크거나 이진 파일이라면 디스크에 넣고 통합 테스트를로드합니다. 이렇게하면 외부 프로그램에서 더 쉽게 보거나 편집 할 수 있습니다.
프로 : 예상되는 파일이 무엇인지 쉽게 볼 수 있습니다.
단점 : 관련이없는 변경 사항이있는 경우 취성이있을 수 있습니다. 예를 들어 JSON 객체의 키 순서는 중요하지 않습니다. 더욱이 PNG 이미지를 생성하는 경우 생성 시간이 파일에 포함되어 매번 테스트가 실패 할 수 있습니다.
파일 해시를 비교하십시오. 나는 이것이 최후의 수단이라고 생각합니다.
프로 : 전체 파일을 통합 테스트에 저장할 필요가 없습니다. 실제로 큰 파일 인 경우에만 유용합니다.
단점 : 테스트 실패로 아무 것도 알 수 없습니다. 통합 테스트에 포함 된 해시조차도 아무 것도 알려주지 않습니다. 이것은 단지 "변화 탐지기"테스트 일뿐입니다.
관련 문제
- 1. 통합 테스트 통합
- 2. 다른 테스트 통합 테스트
- 3. Java에서 파일을 다운로드하는 방법?
- 4. 통합 테스트
- 5. 여러 파일을 다운로드하는 단일 ProgressView
- 6. 통합 테스트 및 이미지
- 7. 화이트 통합 테스트
- 8. 통합 테스트 용 클로버
- 9. TeamCity에 비표준 테스트 통합
- 10. TeamCity의 WCF 통합 테스트
- 11. 다른 서버에서 파일을 다운로드하는 서버에서 파일을 다운로드하는 방법은 무엇입니까?
- 12. 단위 테스트 대신 통합 테스트
- 13. 통합 테스트 대 테스트 커버리지
- 14. 파일을 PHP로 다운로드하는 방법
- 15. 오디오 파일을 다운로드하는 방법
- 16. 파일을 다운로드하는 방법? - 그루비
- 17. 파일을 다운로드하는 방법
- 18. 게에서 파일을 다운로드하는 방법
- 19. memoryStream 파일을 다운로드하는 방법
- 20. 파일을 안전하게 다운로드하는 방법
- 21. HTTPResponseMessage에서 파일을 다운로드하는 방법
- 22. WIX로 파일을 다운로드하는 방법
- 23. CGI로 파일을 다운로드하는 방법
- 24. 오디오 파일을 다운로드하는 방법?
- 25. 경로에서 파일을 다운로드하는 링크
- 26. SharpGS 파일을 다운로드하는 방법?
- 27. ruby에서 파일을 다운로드하는 wget
- 28. angular2에서 파일을 다운로드하는 방법
- 29. .xlsx 파일을 다운로드하는 방법
- 30. 클라이언트에 파일을 다운로드하는 방법
Hello Thomas. 플랫폼 charset 인코딩이 변경 될 때 파일을 바이트 단위로 비교하는 것에 대한 제안 사항이 있습니까? 테스트는 리눅스에서 작동하지만 윈도우에서는 작동하지 않습니다. 예상 된 결과가 리눅스 머신에서 얻어 졌기 때문입니다. – Francesco
플랫폼에 관계없이 모든 것에 UTF-8을 사용합니다. 오류가 발생한 두 플랫폼 중 어느 것을 선택해야합니까? – Thomas