BEAR.Sundayインストール!

先日開催された、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

ということで続きです。

phpunitを実行してみます。

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