プロジェクトを最新バージョンの PHPUnit に移行します。
[作業中] 自己責任で使用してください:)
プロジェクトのクローンを作成します。
$ git clone 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*
に、
setUp
とtearDown
protected
れ正しいケースに変更します( setup
=> setUp
など)。
@cover
タグ内の FQCN (つまり、 @covers MyClass
から@covers MyClass
)、
assertInternalType
とassertNotInternalType
より具体的なアサーション メソッドに (PHPUnit 7.5+)、
getMock
getMockBuilder
への他の必要な関数呼び出し (PHPUnit 5.4 以降)、
可能であれば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 に移行するためのヘルパーとしてのみ使用する必要があることに注意してください。移行後は必ずすべてのテストを実行して、適用された変更が正しく、テストがまだ機能しているかどうかを確認してください。