megadreams前回のお話でJenkinsとGitHubによる継続的インテグレーションの開発環境の設定を行いました。継続的インテグレーションを行うにあたり実際にJenkinsでテストを実行した際に「どんなテスト結果を表示してくれるのか?」ということをご紹介したいと思います。現在FuelPHPを用いて開発を行なっているためここでのテストの実行にはPHPUnitを使用して行っています。Jenkinsってイギリス人の執事をイメージした名前だそうです。プロジェクトに優秀な執事がいるような思いが込められてこの名前が付けられたと言われています。参考:Jenkinsで始める継続的インテグレーションでは、JenkinsというよりはPHPのUnitテストでどんなレポートを表示してくれるのか?たくさんあるのですが、大きく5つ紹介します。大きくこれら5つについての説明とJenkinsで表示した際の表示内容を見て行きましょう。テストの結果の表示テストの結果は、その名の通り成功したテストや失敗したテストの一覧を表示してくれます。コードカバレッジの表示コードカバレッジとは、作成したテストがテスト対象コードのうちどのくらいテストしているかを表している率のことを言います。コードカバレッジが高いほどテストコードがしっかり書かれていて、品質の良いコードを保つことが出来ています。ちなみにコードカバレッジの表示では、カバレッジ率の表示だけではなく、テストがされている行とされていない行を視覚的に分かりやすく表示することができます。テストの状況は、テストが実施されたファイル、クラス、行数と細かく表示されますテストがされた行とされていない行テストがされている行は緑色、されていない行は赤色で塗られています。バグになりそうな箇所や実装上の問題を検出3のバグになりそうな箇所や実装上の問題を検出については、独自のルールを取り入れることも出来、反していれば警告を表示するといった設定も行うことができます。独自のルールの詳しい設定などについては次回以降の記事で紹介します。冗長化したコードを自動で検出しコードの最適化4の冗長化したコードを自動で検出しコードの最適化については、フォルダ内の各ファイルの重複度合いがグラフで表示されます。そのため共通化出来るところなどが視覚化されコードの最適化につなげることができます。ドキュメントの自動生成5のドキュメントの自動生成については、作成しているクラスのリファレンスを自動で生成してくれるものになります。検索も可能であり、正しいフォーマットで記述することにより作成したメソッドの説明や引数などの情報をリファレンスとしてまとめてくれます。このように、PHPUnitで用意されている機能をJenkinsで実行するこによりテストの結果を見やすく表現してくれます。これらは品質の良いコードを保つきっかけになり、品質の良いサービス作りへの第一歩であると思います。megadreamsFuelPHPのORMでrelatedを使用する際にlimitとwhere句を用いた場合の注意点です。relatedでは、limit句が先に実行されその後にwhere句が実行されるため思った結果が返ってこない場合があります。通常のlimitとwhere句では、先にwhere句が実行された後にlimit句が実行されるので問題ありませんが,,,とりあえず、本日気がついたことなのでメモ程度に...時間があるときに、再現してみたいと思います。megadreamsフレームワークを使って開発を始めて約1ヶ月半。フレームワークの便利さに感動する毎日が続いています。そんな今日は,今流行のFuelPHPについて。FuelPHPは、PHP5.3によるWebアプリケーション用のMVCフレームワークです。Horrigan氏によって開発が開始されました。PHPのフレームワークには、「CakePHP」や「Symfony」「Codelgniter」など様々なフレームワークがありますが、FuelPHPは軽いため高速な処理を行うソーシャルゲームなどの開発には向いているそうです!そんなFuelPHPのスキャフォールド(scaffold)とマイグレーション(migration)がとても便利なので紹介したいと思います。Railsで導入された機能で、MVCフレームワークでCRUD操作を行うための枠組みを自動生成する仕組みのことです。ちなみにCRUDとは、Create(生成)、Read(読み取り)、Update(更新)、Delete(削除)の頭文字をとった言葉で、データベースの基本的な操作のことを指します。)、コントローラ、マイグレーションが一括して生成されます。id:int上記のコマンドで、文字列で50文字までのtitleカラムとcontentカラム,整数型のidカラムのモデルが出来上がり、同時に表示編集登録削除のコントローラーも出来上がります。超便利!!マイグレーションについてマイグレーションとは、データベースのテーブル構造を管理するものです。マイグレーションを実行することで、作成したモデルをDBに反映させることが可能です。FuelPHPでは、fuel/app/migrations以下のファイルを読み込むことで実行されます。migrate上記コマンドを実行することで、作成したモデルがDBに反映されました!ただし、この状態でファイルにアクセスしても以下のようなエラー画面が出ます。category.プロフィール某IT企業エンジニアの社会人4年目。アジャイル開発.HTML5,Objective-CなどでWebアプリの開発。Chefを使ったサーバ構築の自動化にも取り組んでいます。