Laravel 5.2를 테스트하는 동안 원본 파일을 이동하지 마십시오.

그발 두치

파일을받는 POST 콜백에 대한 테스트를 작성하려고합니다.

컨트롤러는이 기능을 사용하여 이미지를 원하는 위치로 이동합니다.

$request->file('image')->move(env('IMG_DIR'), $filename);

env ( 'IMG_DIR')은 테스트와 로컬 환경에서 다르며 정말 잘 작동합니다.

내 테스트는 다음과 같습니다.

$file = new UploadedFile(base_path() . 'tests/file/test_img.png', 'test.png', 'png', null, null, true);

$this->call('POST', '/endpoint', null, ['user-jwt' => env('CU_JWT')], ['image' => $file])

업로드가 잘 작동하고 이미지가 올바르게 이동되고 테스트가 성공적입니다.

문제는 테스트를 실행할 때마다 테스트에 사용하는 이미지 ( tests/file/test_img.png)가 디렉토리에서 사라진다는 것입니다. PHPUnit / Laravel에 업로드가 가짜 여야하며 원본 이미지를 실제로 이동하지 않아야한다고 알려주는 방법이 있습니까?

유일무이 한 ChemistryBlob

개발 환경에서 이미지 사본을 만듭니다.

$originalImagePath = base_path() . 'tests/file/test_img.png'; 
$copyImagePath = base_path() . 'tests/file/test_img_copy.png';

File::copy($originalImagePath, $copyImagePath) 

그런 다음 복사 된 이미지로만 작업

$file = new UploadedFile($copyImagePath, 'test.png', 'png', null, null, true); // etc.

이렇게하면 복사 된 이미지가 이미지 디렉토리를 떠나 테스트를 실행하면 모든 것이 시작된 동일한 방식으로 끝납니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Spring Boot를 사용하여 Excel 파일을 읽는 동안 MySQL에 중복을 삽입하지 마십시오.

분류에서Dev

casperjs 파일을 테스트하는 동안 '테스트 파일 : XXX.js'를 표시하지 않습니다.

분류에서Dev

페이지를 스크랩하는 동안 일부 콘텐츠를 복사하지 마십시오.

분류에서Dev

잠자는 동안 USB에 전원을 공급하지 마십시오

분류에서Dev

Testcontainers는 - 인스턴스화하는 동안 자동으로 컨테이너를 시작하지 마십시오

분류에서Dev

laravel $ request 작동하지 마십시오

분류에서Dev

(Qt) 편집 가능한 QComboBox : 텍스트를 입력하는 동안 팝업을 닫지 마십시오.

분류에서Dev

테스트 케이스에서 농담 모의를 작성하는 동안 DRY 원칙을 따르십시오-React와 Jest

분류에서Dev

파이썬에서 time.time ()을 사용할 때마다 정확히 5 초 동안 함수를 실행하십시오.

분류에서Dev

업로드하는 동안 파일 이름의 공백을 밑줄로 바꾸지 마십시오.

분류에서Dev

업로드하는 동안 파일 이름의 공백을 밑줄로 바꾸지 마십시오.

분류에서Dev

Dart는 오퍼레이터 과부하를 지원합니까? (재정의와 혼동하지 마십시오)

분류에서Dev

지난 5 년 동안의 데이터를 가져오고 지난 5 년 동안 동일한 항목의 이름을 계산하는 방법

분류에서Dev

기본 Python을 사용하여 .html 파일을 구문 분석하는 동안 내 논리적 오류를 설명하십시오.

분류에서Dev

기본 Python을 사용하여 .html 파일을 구문 분석하는 동안 내 논리적 오류를 설명하십시오.

분류에서Dev

파이썬 프리 스빌 라이트. wxPython을 작동하지 마십시오

분류에서Dev

원하는 경로에 비디오 파일을 저장하는 동안 "2 개의 입력 이름이 지정되었습니다. 사용법을 확인하십시오"오류

분류에서Dev

.scss 파일을 컴파일하도록 Laravel 5 Elixir를 올바르게 구성하십시오.

분류에서Dev

컨트롤러를 테스트하는 동안 Laravel 5.1 Mockery 예상 무시 됨

분류에서Dev

Angular 앱을 테스트하는 동안 ng2-charts 오류

분류에서Dev

동일한`with` 안에 중첩 된 경우`with` 문을 실행하지 마십시오.

분류에서Dev

오랫동안 읽기를 기다리는 동안 파이썬 스레드를 종료하십시오.

분류에서Dev

두 디렉토리를 비교하십시오. 파일이 존재하지 않거나 동일하면 이동하십시오. 그렇지 않으면 아무것도하지 마십시오

분류에서Dev

Python pandas에서 데이터 프레임의 마지막 두 열에 동일한 텍스트를 포함하는 행을 선택하십시오.

분류에서Dev

Selenium Webdrive 2 Java 위로 마우스를 이동하십시오.

분류에서Dev

Spring Batch에서 동일한 파일을 두 번 처리하지 마십시오.

분류에서Dev

파이썬 팬더 피벗을 사용하는 동안 순서를 유지하십시오

분류에서Dev

Laravel 5. put 및 delete 메서드를 사용하지 마십시오.

분류에서Dev

Laravel 5. put 및 delete 메서드를 사용하지 마십시오.

Related 관련 기사

  1. 1

    Spring Boot를 사용하여 Excel 파일을 읽는 동안 MySQL에 중복을 삽입하지 마십시오.

  2. 2

    casperjs 파일을 테스트하는 동안 '테스트 파일 : XXX.js'를 표시하지 않습니다.

  3. 3

    페이지를 스크랩하는 동안 일부 콘텐츠를 복사하지 마십시오.

  4. 4

    잠자는 동안 USB에 전원을 공급하지 마십시오

  5. 5

    Testcontainers는 - 인스턴스화하는 동안 자동으로 컨테이너를 시작하지 마십시오

  6. 6

    laravel $ request 작동하지 마십시오

  7. 7

    (Qt) 편집 가능한 QComboBox : 텍스트를 입력하는 동안 팝업을 닫지 마십시오.

  8. 8

    테스트 케이스에서 농담 모의를 작성하는 동안 DRY 원칙을 따르십시오-React와 Jest

  9. 9

    파이썬에서 time.time ()을 사용할 때마다 정확히 5 초 동안 함수를 실행하십시오.

  10. 10

    업로드하는 동안 파일 이름의 공백을 밑줄로 바꾸지 마십시오.

  11. 11

    업로드하는 동안 파일 이름의 공백을 밑줄로 바꾸지 마십시오.

  12. 12

    Dart는 오퍼레이터 과부하를 지원합니까? (재정의와 혼동하지 마십시오)

  13. 13

    지난 5 년 동안의 데이터를 가져오고 지난 5 년 동안 동일한 항목의 이름을 계산하는 방법

  14. 14

    기본 Python을 사용하여 .html 파일을 구문 분석하는 동안 내 논리적 오류를 설명하십시오.

  15. 15

    기본 Python을 사용하여 .html 파일을 구문 분석하는 동안 내 논리적 오류를 설명하십시오.

  16. 16

    파이썬 프리 스빌 라이트. wxPython을 작동하지 마십시오

  17. 17

    원하는 경로에 비디오 파일을 저장하는 동안 "2 개의 입력 이름이 지정되었습니다. 사용법을 확인하십시오"오류

  18. 18

    .scss 파일을 컴파일하도록 Laravel 5 Elixir를 올바르게 구성하십시오.

  19. 19

    컨트롤러를 테스트하는 동안 Laravel 5.1 Mockery 예상 무시 됨

  20. 20

    Angular 앱을 테스트하는 동안 ng2-charts 오류

  21. 21

    동일한`with` 안에 중첩 된 경우`with` 문을 실행하지 마십시오.

  22. 22

    오랫동안 읽기를 기다리는 동안 파이썬 스레드를 종료하십시오.

  23. 23

    두 디렉토리를 비교하십시오. 파일이 존재하지 않거나 동일하면 이동하십시오. 그렇지 않으면 아무것도하지 마십시오

  24. 24

    Python pandas에서 데이터 프레임의 마지막 두 열에 동일한 텍스트를 포함하는 행을 선택하십시오.

  25. 25

    Selenium Webdrive 2 Java 위로 마우스를 이동하십시오.

  26. 26

    Spring Batch에서 동일한 파일을 두 번 처리하지 마십시오.

  27. 27

    파이썬 팬더 피벗을 사용하는 동안 순서를 유지하십시오

  28. 28

    Laravel 5. put 및 delete 메서드를 사용하지 마십시오.

  29. 29

    Laravel 5. put 및 delete 메서드를 사용하지 마십시오.

뜨겁다태그

보관