2013年8月1日木曜日

CakePHP2.x Shellを使う(実行編)

せっかくShellを使ってもテストをしないのはよくないということで(当たり前)
コマンドプロンプトなんてほとんど使ったことないけどネットとお友達になりつつ
やってみる。

まずはコマンドプロンプトを開き環境変数のパスを通す。
(xamppはc直下)

    c:\xampp\php>SET PATH=%PATH%;%CD%
    c:\xampp\htcdocs\hoge\app\Console>SET PATH=%PATH%;%CD%

多分現在のディレクトリにパスを通しているんでしょう。きっと。
CDってあるし。
そしてディレクトリをappまで移動して、Shellを実行。

    C:\xampp\htdocs\hoge\app>cake Test

怒られた。細かいメッセージ文は忘れたけど、PHPUnitとかいうのがないとか。
再びネットの海に潜り検索検索。

xamppにPHPUnitをインストールするためにはpearとかいうのを使うらしい。
PEAR(PHP Extension and Application Repository)の略でPHPで利用できる
ライブラリを提供しているサービス。

xampp(というよりもPHP5?)には最初からインストールされているらしいので
アップデートしてからPHPUnitをインストール!

    pear update
    pear install phpunit/PHPUnit

はい怒られましたよ。php_compatがないらしい。これは普通にインストールできそう。

    pear install php_compat

そして再びのインストール!

またしても怒られた。こんどはPHP_Invokerとやらが問題を起こしているらしい。
ご丁寧に警告文に-alldepsオプションを指定しておくれと書いてあったので
オプションを指定してインストール!

    pear install --alldeps phpunit/PHPUnit

今度は成功メッセージが表示されたぞ。ということで早速ちゃんとインストール
されているかの確認もかねてバージョンチェック

    phpunit --version
    Warning: require_once(PHPUnit/Framework/MockObject/Autoload.php)
    fatal error

ほ? PHPUnit/Framework/MockObjectがないとな?
モニターの前で試行錯誤するも答えが見つからず知ってそうな人に泣きつく。
んで、

    pear install --alldeps --force phpunit/phpunit
    pear install --force phpunit/PHPUnit_MockObject

この二つのコマンドを順番に実行したらちゃんとインストールされた。
やったー。ようやくテスト環境が整ったぞ。
 
    C:\xampp\htdocs\hoge\app>cake Test

    Welcome to CakePHP v2.3.5 Console
    ---------------------------------------------------------------
    App : app
    Path: C:\xampp\htdocs\hoge\app\
    ---------------------------------------------------------------
    test message

でけたー!

0 件のコメント:

コメントを投稿