ユニットテスト(SPEC)について
ユニットテストとは
改めてここで「ユニットテスト」に関して説明する必要はないと思いますので割愛させていただきます。
ユニットテストとSPECの違いについて
大きな括りとしては、同じだと思います。
ただ、若干のニュアンスが違います。
テストとは、「正常に動作しているのか確認する」行程のことですが、SPECとは、「正常な動作を記述する」ことです。
ただ、若干のニュアンスが違います。
テストとは、「正常に動作しているのか確認する」行程のことですが、SPECとは、「正常な動作を記述する」ことです。
得られる効果(メリット)としては一緒ですが、目的がはっきりと違います。
SPECファイルの追加方法
samurai add-specコマンドを利用する
現在こちらのコマンドは準備中です。しばらくお待ちください。
手動で用意する
手動、といっても非常に簡単な手順だけで用意できます。
以下のようなファイルを用意してください。
以下のようなファイルを用意してください。
spec/DescribeExample.php
class DescribeExample extends PHPSpec_Context { public $Component; public function before() { $this->Component = new Component(); $this->Component->AG = ActiveGatewayManager::getActiveGateway('sandbox'); } public function it処理1() { //ここにコンポーネントの振る舞いを書きます。 $res = $this->Component->get(1); $this->spec($res)->shouldNot->beNull(); $this->spec($res->id)->should->be(1); } }
お気づきの方も多いとは思いますが、記述法などはすべてPHPSpecに依存しております。
ここらへんをPHPSpecに依存するのではなく、Samuraiで統一した記述方法を提供できるように調整を今後する予定ですが、現在のところ、PHPSpecの約束事に従って記述をお願いいたします。
ここらへんをPHPSpecに依存するのではなく、Samuraiで統一した記述方法を提供できるように調整を今後する予定ですが、現在のところ、PHPSpecの約束事に従って記述をお願いいたします。
SPECの実行
$ cd /home/foo/example $ samurai spec
上記のコマンドを打つだけで、specディレクトリに配置されているすべてのSPECファイルが実行されます。
そして、結果がコンソールに表示されることになります。
そして、結果がコンソールに表示されることになります。
コメント
| コメントはまだありません。 |