先日開催された、Symfony勉強会#6の熱い熱い懇親会セッション。
BEAR.Sundayをこれは絶対絶対触らねば!!!ということでインストールです!
http://code.google.com/p/bearsunday/wiki/Install
を参考にインストールしてみました。
インストール直後の画面。
php5.4のビルドインサーバで表示をしています。
使える事は知ってたけども、起動してみたのは初めて♥
では、ここからNEKOGETがインストールをした環境でのインストールの詳細です。
インストールした環境 / OSX VMWare Fusion
Fedora17
PHP 5.4.3
mysql 5.5.24
php-pecl-apc-3.1.10-2.fc17.x86_64
別段特別な環境を作った訳でもなく、
Fedora17環境でyumを利用して
簡単に環境を作成し、挑戦してみました。
ハジメテは、基本に忠実にということで、公式のインストールのページを参考にインストールをします。
http://code.google.com/p/bearsunday/wiki/Install
githubからデータを取得
git clone git://github.com/koriym/BEAR.Sunday.git
githubは本当に便利。らくちん。
$ cd BEAR.Sunday/ $ curl -s http://getcomposer.org/installer | php $ php composer.phar install
テスト環境と書かれた項目はPHPUnitのインストールのようです。すでにインストール済みだったので、スキップしました。
ビルドインサーバの起動
$ cd apps/sandbox/htdocs/ $ php -S localhost:8088 web.php
参考にしたサイトと違うのはphpのパスぐらいです。
テスト用のDBの準備
rootにパスワードを設定していたので、最後に-pをつけてます。
実行すると、パスワードを聞かれるので入力。
$ mysql -e "CREATE DATABASE IF NOT EXISTS blogbeartest;USE blogbeartest;CREATE TABLE IF NOT EXISTS posts (id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,title VARCHAR(50),body TEXT,created DATETIME DEFAULT NULL,modified DATETIME DEFAULT NULL);" -u root -p
テストの実行
まずはテストを実行するというのが、
インストールの手順にあるのが素敵です。
[neko@localhost BEAR.Sunday]$ phpunit PHP Warning: require(PHPUnit/Extensions/Database/TestCase.php): failed to open stream: No such file or directory in /var/www/html/bear/BEAR.Sunday/tests/bootstrap.php on line 4 PHP Fatal error: require(): Failed opening required 'PHPUnit/Extensions/Database/TestCase.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/bear/BEAR.Sunday/tests/bootstrap.php on line 4
失敗……
あ!!!….DB!!! (>_< )
ってことでphpunit追加です。
rootになって、pear installします。
ちゃんとドキュメントには書いてありました。自分で勝手に入れてたはずと勘違い...(> _ < ) 油断大敵です。
[neko@localhost BEAR.Sunday]$ su
[root@localhost BEAR.Sunday]# pear install phpunit/DbUnit
Adownloading DbUnit-1.1.2.tgz …
Starting to download DbUnit-1.1.2.tgz (41,895 bytes)
…………done: 41,895 bytes
install ok: channel://pear.phpunit.de/DbUnit-1.1.2
phpunit/DbUnitインストール完了!
医療情報事務所 一貫堂Blog で、インストールとunit testにまつわる諸々の情報がUPされています。かなり詳細に書かれています。参考にどうぞ♪
http://ikkandou.blogspot.jp/2012/07/bearsunday1.html
http://ikkandou.blogspot.jp/2012/07/bearsundayphpunit.html
ということで続きです。
rootのパスワードが設定されていると、エラーが出るという内容のエラーがたくさんでていたので、とりあえずrootパスワードを解除してテストを実行しました。
build/coverage/の中に、code coverage のレポートができていました。
インストールのドキュメントの中に、phpunitを実行しろっていうフローが入ってるphpフレームワークって初めてのような気がします。
すべてgreenな事が確認できたので、
やっぱりmysqlにパスワードの設定をします。
rootにパスワード設定がないとunit testうまくいかないんだよねって話をぽろっとしていたら、一貫堂のいのうえさんが調べてくれました。感謝感謝!
http://ikkandou.blogspot.jp/2012/07/bearsundayphpunit.html
rootにパスワードを設置します。
[neko@localhost BEAR.Sunday]$ mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 94 Server version: 5.5.24 MySQL Community Server (GPL) Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> SET PASSWORD FOR root@localhost=PASSWORD('root'); Query OK, 0 rows affected (0.03 sec)
phpunitの結果は最初実行した通りエラーが出ました。
パスワードの設定をします。
tests/PagingQueryTest.php
21行目
$this->pdo = new \PDO(“mysql:host=localhost; dbname=blogbeartest”, “root”, “root“);
tests/PagerTest.php
24行目
$this->pdo = new \PDO(“mysql:host=localhost; dbname=blogbeartest”, “root”, “root“);
tests/DoctrineDbalAdapterTest.php
21行目
$this->pdo = new \PDO(“mysql:host=localhost; dbname=blogbeartest”, “root”, “root”);
apps/sandbox/tests/PageBlogPostsTest.php
11行目
$pdo = new \PDO(“mysql:host=localhost; dbname=blogbeartest”, “root”, “root”);
apps/sandbox/tests/AppPostsTest.php
13行目
$pdo = new \PDO(“mysql:host=localhost; dbname=blogbeartest”, “root”, “root”);
sandbox/scripts/test.config.php
2箇所
return [
‘master_db’ => [
‘driver’ => ‘pdo_mysql’,
‘host’ => ‘localhost’,
‘dbname’ => ‘blogbeartest’,
‘user’ => ‘root’,
‘password’ => “root”,
‘charset’ => ‘UTF8’
],
‘slave_db’ => [
‘driver’ => ‘pdo_mysql’,
‘host’ => ‘localhost’,
‘dbname’ => ‘blogbeartest’,
‘user’ => ‘root’,
‘password’ =>“root”,
‘charset’ => ‘UTF8’
]
];
phpunitを実行
rootのパスワード無しと同様に、all greenになりました☆
ビルドインサーバを起動し、BEAR.Sundayが動く事を確認しました。
次は、チュートリアルに挑戦の予定です!
http://code.google.com/p/bearsunday/wiki/HelloWorld
http://code.google.com/p/bearsunday/wiki/blog