PHPUnit 6.0の主な変更点

PHPUnit 6.0.0が2017/02/03にリリースされました。その後立て続けにバージョンがあがり、02/08に6.0.6がリリースされています。

主な変更点

要件

PHP 7.0以上が必要になりました。

名前空間

PHPUnit_Framework_TestCasePHPUnit\Framework\TestCaseに変更されました。

もし、既存のテストコードを変更できない場合は、bootstrapに以下のハックを追加することで対応できます。

if (! class_exists('PHPUnit_Framework_TestCase')) {
    class_alias('PHPUnit\Framework\TestCase', 'PHPUnit_Framework_TestCase');
}

デフォルト設定

デフォルト設定が変更されました。

  • backupGlobals="true"でしたが、backupGlobals="false"に変更されました
  • 役に立たないテストがRiskyになります

既存のテストコードをそのまま動作させたい場合は、phpunit.xmlbackupGlobals="true"を設定してください。

ただし、backupGlobals="false"の方がテストの実行が速くなりますので、falseでテストが通るようにした方が好ましいと思います。

デフォルトはfalseにして、必要なテストケースだけ@backupGlobals enabledにすることも可能です。

役に立たないテストは修正するか削除すべきでしょう。

ログ

  • --log-junitフォーマット変更
  • --log-json廃止

テストランナー

すべてのテストがパスするが警告がある場合、exitコードが1に変更されました。

廃止

  • $this->getMock()
  • $this->setExpectedException()および$this->setExpectedExceptionRegExp()
    • $this->expectException(), $this->expectExceptionCode(), $this->expectExceptionMessage(), $this->expectExceptionMessageRegExp() を使います
  • --tap

その他

  • PHP 5.3以上が要件のPHPUnit 4.8の保守が終了しました
  • PHP 5.6以上が要件のPHPUnit 5.7は2018/02/02まで保守されます

参考

Tags: phpunit

NetBeans 8.2でのPHPのリモートデバッグ(ステップ実行)

NetBeans 8.2、MAMP 4.1(Apache、PHP 7.1、Xdebug 2.5.0)、CodeIgniter 4.0-devという組み合わせでの、ステップ実行のやり方です。

Xdebugの設定

ApacheのPHPでXdebugとリモートデバッグを有効に設定します。

--- php.ini.org 2016-12-16 02:04:54.000000000 +0900
+++ php.ini 2017-02-10 16:24:00.000000000 +0900
@@ -1161,4 +1161,5 @@
   opcache.enable_cli=1

 [xdebug]
-;zend_extension="/Applications/MAMP/bin/php/php7.1.0/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so"
+zend_extension="/Applications/MAMP/bin/php/php7.1.0/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so"
+xdebug.remote_enable=1

php.iniを変更したら、Apacheを再起動します。

phpinfo()を表示して、Xdebugが有効になっていることを確認します。

NetBeansでのプロジェクトの設定

プロジェクト名を右クリックし、プロジェクトの「実行構成」を設定します。

「詳細」ボタンを押して、「詳細Web構成」の設定をします。

これで設定が完了しました。

デバッグの実行

「プロジェクトをデバッグ」ボタンを押します。

「URLを指定」ウィンドウが開きますので、そのまま「OK」を押します。

ブラウザが自動的に立ち上がり、ソースコードの最初の行で実行が止まります。

右上のボタンを使うことで、ステップ実行を操作できます。

Tags: netbeans, mamp, debug, php, codeigniter

X-TEA Modeler 1.4.34 for Mac OS X

オープンソースのモデリングツール「X-TEA Modeler」の最新版をMac OS Xで使うためのZipアーカイブを用意しました。

X-TEA Modeler 1.4.34 for Mac OS X

X-TEA ModelerをMac OS Xで使う」に記載されている以下の不具合は修正されています。

  • 保存時のファイルのバックアップ機能が使えない
  • 何故か起動時にファイル選択のダイアログが表示されないことがある

使用方法

  1. Java(7/8)をインストールします。
  2. XTEA-1.4.34.zip を展開します。
  3. Modeler/xteamdl.jarをダブルクリックして起動します。

(参考)作成方法

  1. Windowsを用意し、Javaをインストールします。
  2. X‒TEA Modelerをインストーラでインストールします。
  3. インストールされたProgram FilesにあるXTEAフォルダ をMac OS Xにコピーします。
  4. xteamdl.properties のパス区切り文字を/に変更します。
--- xteamdl.properties.orig 2017-01-09 19:18:46.000000000 +0900
+++ xteamdl.properties  2017-01-09 19:35:57.000000000 +0900
@@ -4,5 +4,5 @@
 MainFont = Meiryo UI
 #IOImageFont = MeiryoKe_Gothic
 IOImageFontSize = 16
-IOImageFolder = <CURRENT>\\images
-BackupFolder = <CURRENT>\\backup
+IOImageFolder = <CURRENT>/images
+BackupFolder = <CURRENT>/backup

参考

Tags: mac, modeling