Composer 설치 Ecomdev_PhpUnit이 vfsstream 누락으로 인해 테스트를 건너 뜁니다.


14

Enterprise Edition 1.13.1 설치 (커뮤니티 에디션은 동일한 문제가 있음)로 작업하고 있으며 가능한 경우 작성기를 통해 종속성을 설치하고 있습니다. 나는 모든 일반적인 phpunit 의존성에서 구입 한 composer를 통해 Ivan의 Ecomdev_PhpUnit 확장을 설치했습니다. 또한 phpunit.xml.dist를 vendor / ivanchepurnyi / ecomdev_phpunit에서 프로젝트 루트 디렉토리로 복사했습니다.

단위 테스트를 처음 실행할 때 다음 오류가 발생했습니다.

The test was skipped, since vfsStream component is not installed. Try install submodules required for this functionality

이후에 다음과 같은 require-dev 항목을 추가 composer.json하고 실행했습니다 composer update.

"mikey179/vfsStream": ">=1.2.0",

그러나 PHPUnit은 여전히 ​​vfsStream이 설치되지 않았다고 불평합니다.

Ecomdev_PHPUnit 확장을 위해 GitHub 리포지토리를 살펴보면 composer가 사용될 때 libvsfstream이 자동로드되도록 패치가 병합 된 것 같습니다 . 그러나 이것은 작곡가 오토로더가 어디에도 포함되어 있지 않기 때문에 부분 솔루션처럼 보이므로 class_exists 호출은 여전히 ​​실패합니다.

부트 스트랩 중에 작곡가 오토로더를 포함하도록 /vendor/ivanchepurnyi/ecomdev_phpunit/app/code/community/EcomDev/PHPUnit/bootstrap.php:41을 편집 할 수 있습니다 (또는 부트 스트랩 .php를 프로젝트의 다른 위치에 복사하여 편집) . 이것이이 문제에 대한 최상의 솔루션입니까, 아니면 누락 된 Composer 또는 Ecomdev_PhpUnit의 기능입니까?

답변:


3

부트 스트랩 편집은 부트 스트랩이 자신의 프로젝트 범위에 속하므로 올바른 솔루션입니다.
ecomdev가 제공하는 것은 예제 / 기본 설정일 뿐이며, 기존의 작곡가가 아닌 설치에 중점을 둡니다.


고마워, 그것이 내가 결국 사용했던 해결책이며, 내가 빠진 것이 없도록하고 싶었습니다.
Jim OHalloran


2

약간 늦을 수도 있지만 GitHub에서 vfsStream을 다운로드하고 내용을 lib / vfsStream에 복사 / 붙여 넣기 만하면 문제가 해결 될 수 있습니다.

https://github.com/mikey179/vfsStream


문제는 vfsStream이 설치되어 있지 않다는 것이 아니라 자동로드 할 수 없다는 것입니다.
Jim OHalloran

그러나 나는 똑같은 문제가 있었으며 (작곡가는 도움이되지 못했습니다) 방금 작성한 솔루션을 사용하여 해결했습니다.
Michel Gokan

@MichelGokan, 귀하의 솔루션도 저에게 효과적이었습니다. 고마워.
DarkCowboy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.