HTTP 요청을하는 코드를 어떻게 테스트합니까? 실제 HTTP 호출을하는 대신 mock 객체를 사용하여 HTTP 요청에 올바른 본문 및 헤더 집합이 있는지 확인하려고합니다.PHPUnit 모의 요청 객체 및 바디 및 헤더 추출
-1
A
답변
0
설명에 많은 정보가 없습니다. 그러나 처음에는이 예제 코드를 사용하여 안내 할 수 있습니다.
$httpMock = $this->getMockBuilder('\Vendor\Path\HttpHandlerYouWantToMock')
->disableOriginalConstructor()
->setMethods(['setBody', 'setHeader'])
->getMock();
$httpMock->expects($this->once())
->method('setBody')
->with($this->identicalTo('{"test":"test"}'));
$httpMock->expects($this->once())
->method('setHeader')
->with($this->identicalTo('Content-Type: application/json'));
$service = new SomeService($httpMock);
$service->post('/someApi', '{"test":"test"}');
단지 모두가 좋아하지만 경우에 보일 것입니다 어떻게 표현이 코드는 당신이 사용하고있는 HTTP 처리기 아무 생각하거나 하나에 의존하는 다른 서비스를 포함합니다.
그래서 주요 아이디어는 자신의 서비스에서 사용하는 모든 서비스를 조롱합니다. 그리고이 모의에 대해 어떤 방법을 사용할 것인지를 정의하고 거기에 어떤 데이터가 전달되어야 하는지를 정의하십시오.
마지막으로 phpunit 문서를 사용하십시오. https://phpunit.de/manual/current/en/test-doubles.html
+0
그는 http 클래스를 사용하지 않고 있습니다 대신 curl_init '직접 ... – iRaS
관련 문제
- 1. PHPUnit 모의 객체 메쏘드
- 2. PHPUnit 버전 문제 및 모의 작성자
- 3. 바디 컨투어에서 헤드 감지 및 추출 opencv
- 4. 모의 병. 파이썬에있는 요청 객체
- 5. phpUnit - 모의 PHP 확장 예외 객체
- 6. 파이썬 모의, django 및 요청
- 7. 응답 헤더/바디
- 8. PHPUnit 모의 예외
- 9. PHPUnit 모의 함수?
- 10. Laravel 4에서 헤더 및 PhpUnit 테스트를 전송합니다.
- 11. 모의를 사용하여 PHPUnit 모의
- 12. Symfony/PHPUnit 모의 서비스
- 13. PhpUnit inbuilt 함수 모의
- 14. swfupload 및 요청 헤더 설정
- 15. PHPUnit 및 Apache와의 통합 테스트
- 16. 목표 C - 단위 테스트 및 모의 객체?
- 17. Qt, 단위 테스트 및 모의 객체
- 18. 스프링 3 타일 리로드 바디 - 헤더 및 메뉴 고정 유지
- 19. PHPUnit 용 모의 MySQL DB
- 20. Rhino 모의 및 모의 일반적으로
- 21. 요청 헤더 설정 및 다른 응용 프로그램으로 전달
- 22. 포트를 통해 메일 수신 및 본문 및 헤더 추출
- 23. 여러 expects() 호출을 사용하는 PHPUnit 모의
- 24. 헤더 및 본문과 함께 C# 요청 웹 서비스 사용
- 25. smtp 헤더/바디 분리 자
- 26. 모의 객체
- 27. 다른 클래스에서 PHPUnit 모의 메서드 사용
- 28. DotNet에서 헤더 및 POST가있는 HTTP 클라이언트 요청?
- 29. 캐시 제어 헤더 및 조건부 요청
- 30. PUT 요청 및 jQuery로 위치 헤더
정보가 너무 적습니다. 테스트 할 코드를 게시하고 테스트하는 방법을 말할 수 있습니다. 우선, 조롱 된 객체를 받아서 사용할 수있는 코드가 필요합니다. 이 정의에 따르면 http 요청에 대한 클래스를 사용해야합니다. 예를 들어 curl : https://gitlab.w00tserver.org:617/snippets/2 – iRaS