読者です 読者をやめる 読者になる 読者になる

aspec7's garage

エンジニア生活の中で学んだことの備忘録

Sublime Text 2 でPHPUnit

PHP SublimeText

Sublime Text 2からPHPUnitプラグインを使って出来る事を調べてみたのでメモ。

ローカルでPHPUnit自体が動作するようにセットアップしている状態を前提とします。

Sublime Text 2にPHPUnitプラグインのセットアップ
    パッケージマネージャからPHPUnitをインストールします。





PHPUnitプラグインのコンフィグ
    コンフィグを開きます。
 
     コンフィグに以下の設定を追記します。phpunitへのパスは環境に合わせて変更のこと。

"path_to_phpunit": "/path/to/phpunit"


これでSublime Text 2からPHPUnitを実行する準備が整いました。

PHPUnitプラグインで出来る事

コンテキストメニューにある「PHPUnit -> Open Test Class」を実行する事で、実装クラスからテストクラスを開くことができます。
※ 実装クラスファイル上で右クリック。

 

対応しているクラスファイルが開きます。
 
逆にテストクラスからも、実装クラスを開く事が出来ます。
こんな感じで、画面分割して左と右に実装クラスとテストクラスを表示しておくと便利ですね。
 
プロジェクト内のphpunit.xmlを開くには、やはりコンテキストメニューから実行します。


phpunit.xmlは、プロジェクトに合わせて設定します。
サンプルとして以下のような感じにしました。




tests/




tests


src












単体で動かす場合はコンテキストメニューから「Run Tests ...」を。

 

まとめて動かす場合は「Run All Unit Tests...」を。

 

実行すると以下のようにコンソール上に結果が表示されます。
 
他にテストケースを作る為の便利ツールとしてコードスニペット機能があります。
エディタ上で以下の2つキーワードを入力してtabキーを押すとテストケースクラスとメソッドのスケルトンを自動生成してくれます。
 
    • phpunit-testcase:テストクラスの生成
class [ClassName]Test extends PHPUnit_Framework_TestCase
{
public function setUp()
{
// your code here
}

public function tearDown()
{
// your code here
}
}
/**
* @covers Class::Method
*/
public function test[testcase-name]()
{
// ----------------------------------------------------------------
// setup your test
//
// explain your test setup here if needed ...

// ----------------------------------------------------------------
// perform the change
//
// explain your test here if needed ...

// ----------------------------------------------------------------
// test the results
//
// explain what you expect to have happened

$this->markTestIncomplete('Not yet implemented');
}


だいたいこんな感じです。