프로젝트를 최신 버전의 PHPUnit으로 마이그레이션합니다.
[작업중] 본인부담으로 사용하세요 :)
프로젝트를 복제합니다.
$ 자식 클론 https://github.com/webimpress/phpunit-migration.git
디렉토리로 이동하여 종속성을 설치하십시오.
$ cd phpunit-migration$ 작곡가 설치
프로젝트를 최신 버전의 PHPUnit으로 업데이트하려면 프로젝트 디렉터리로 이동하여 다음을 실행하세요.
$ ../path/to/phpunit-migration/bin/phpunit-migration 마이그레이션
최신 PHPUnit 버전에 대한 종속성을 작성하고,
PHPUnit_Framework_TestCase
네임스페이스화된 PHPUnitFrameworkTestCase
로,
setExpectedException
expectException*
으로 설정,
protected
되고 올바른 케이스로 setUp
및 tearDown
( setup
=> setUp
등),
@cover
태그의 FQCN(예: @covers MyClass
에서 @covers MyClass
로),
assertInternalType
및 assertNotInternalType
보다 구체적인 어설션 메서드(PHPUnit 7.5+)로 변경
다른 필수 함수 호출(PHPUnit 5.4+)을 사용하여 getMockBuilder
로 getMock
,
가능한 경우 getMockBuilder(...)->...->getMock()
createMock(...)
으로 변경(PHPUnit 5.4+),
$delta
, $maxDepth
, $canonicalize
및 $ignoreCase
매개변수를 사용하여 더 구체적인 주장 방법(PHPUnit 7.5+)에 대한 assertEquals()
및 assertNotEquals()
,
다음 메소드에 void 반환 유형을 추가합니다: setUp()
, tearDown()
, setUpBeforeClass()
, tearDownAfterClass()
, assertPreConditions()
, assertPostConditions()
, onNotSuccessfulTest(Throwable $th)
(PHPUnit 8.0+),
expectExceptionMessageRegExp
에서 expectExceptionMessageMatches
(PHPUnit 8.4+)로,
새로운(더 읽기 쉬운) 어설션 이름을 사용하세요.
assertNotIsReadable
assertIsNotReadable'
로 대체되었습니다.
assertNotIsWritable
assertIsNotWritable'
로 대체되었습니다.
assertDirectoryNotExists
assertDirectoryDoesNotExist'
로 대체되었습니다.
assertDirectoryNotIsReadable
assertDirectoryIsNotReadable'
로 대체되었습니다.
assertDirectoryNotIsWritable
assertDirectoryIsNotWritable'
로 대체되었습니다.
assertFileNotExists
assertFileDoesNotExist'
로 대체되었습니다.
assertFileNotIsReadable
assertFileIsNotReadable'
로 대체되었습니다.
assertFileNotIsWritable
이 assertFileIsNotWritable'
로 대체되었습니다.
assertRegExp
assertMatchesRegularExpression'
으로 대체되었습니다.
assertNotRegExp
assertDoesNotMatchRegularExpression'
으로 대체되었습니다. (PHPUnit 9.1+),
TODO: 가능한 경우 getMockBuilder(...)->...->setMethods(...)->getMock()
에서 createPartialMock(...)
으로(PHPUnit 5.5.3+),
TODO: string
건초 더미에 대한 assertContains()
및 assertNotContains()
보다 구체적인 어설션 메서드(PHPUnit 7.5+)로,
TODO: $this->assert
to self::assert
.
PHPUnit_Framework_Error_*
클래스 변경
아마도 지금은 기억나지 않는 다른 것들도 있을 것입니다 ;-)
메모
이는 개발자 도구이며 테스트를 최신 버전의 PHPUnit으로 마이그레이션하기 위한 도우미로만 사용해야 한다는 점을 기억하세요. 마이그레이션 후에는 항상 모든 테스트를 실행하여 적용된 변경 사항이 올바른지, 테스트가 여전히 작동하는지 확인하세요!