最近の開発ではローカルマシン上ではなく、Vagrant等を利用しての仮想環境を用いた開発が主流となってきました。そこで、NetBeansからテストをリモートマシン上で実行し、結果を取得するスクリプトを紹介します。
※NetBeans 8.0で動作確認を行っています。7.4では動作しません。
[ad#co-1]
リモートマシンで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へ表示されます。