最近の開発ではローカルマシン上ではなく、Vagrant等を利用しての仮想環境を用いた開発が主流となってきました。そこで、NetBeansからテストをリモートマシン上で実行し、結果を取得するスクリプトを紹介します。
※NetBeans 8.0で動作確認を行っています。7.4では動作しません。
リモートマシンでphpunitを実行するには、カスタムphpunitスクリプトを利用します。
次のスクリプトを、プロジェクトディレクトリ内のnbproject
ディレクトリまたは、tests
ディレクトリに設置して適宜変更します。また、実行権限を与えてください。(パーミッション755等)
netbeans-remote-phpunit/phpunit-remote.sh at master
変更箇所は、REMOTE_PKEY
、REMOTE_SERVER
、REMOTE_ROOT
、REMOTE_PHPUNIT
、REMOTE_SUITE_PATH
です。必要であれば、LOCAL_ROOT
も変更してください。
- REMOTE_PKEY
- リモート接続に使用する秘密鍵のパスを指定します。
-i
オプションでssh,scpコマンドに渡されます。 - REMOTE_SERVER
- リモート接続に使用するユーザー名、ホスト名を指定します。
- REMOTE_ROOT
- リモート側のアプリケーションのルートパスを指定します。
- REMOTE_PHPUNIT
- リモート側で実行するphpunitコマンドのパスを指定します。デフォルトでは、
REMOTE_ROOT
の/vendors/bin/phpunit
を指定しています。 - REMOTE_SUITE_PATH
- リモート側でのNetBeansSuite.phpを配置するパスを指定します。デフォルトでは、
REMOTE_ROOT
の/tests
を指定しています。
設置後、プロジェクトのオプションで、「テスト」>「PHPUnit」の設定から「カスタムPHPUnitスクリプトの使用」を選択し、上記のスクリプトを指定します。
あとは、通常通りテスト対象のファイルを開き、テストを実行することでリモートマシンでテストが実行され、その結果がNetBeansへ表示されます。