FuelPHP×PHPUnit×Jenkinsの環境を作るまでのメモ

  • Pocket
  • このエントリーをはてなブックマークに追加
  • 172 follow us in feedly

まえがき

かなり久しぶりのブログ更新になりますが、私は元気です。

忙しくてなかなか技術をインプットすることもできなくて、ブログ書く時間なんて全然ありませんでした。。

てなわけで、今回はFuelPHPでPHPUnitをJenkinsで実行できるようにするまでのメモをしておこうと思います。

開発環境

  • FuelPHP 1.7

ローカル環境にFuelPHPのプロジェクトを作成する

まずはじめに、ローカル環境でFuelPHPのプロジェクトを作成していきます。oilをインストールしてoilコマンドでプロジェクトをバシッと作成していきます

oilのインストール

curl get.fuelphp.com/oil | sh

FuelPHPのプロジェクト作成

oil create fuelphp_sample_blog

こんなかんじで『fuelphp_sample_blog』という、サンプルプロジェクトを作成しました。

これにPHPUnitをつかえるようにするため、プロジェクト直下にある『composer.json』を編集します

    "require": {
        "php": ">=5.3.3",
        "monolog/monolog": "1.5.*",
    	"fuelphp/upload": "2.0.1",
        "phpunit/phpunit": "3.7.*"
    },

っと、phpunitを追加してあげる。

ほいで、『php comopser.phar update』を実行

php composer.phar update

oilの設定ファイル作成

ユニットテストを実行した際にphpunitがありまへんがな!とエラーがでたので、oilで実行するphpunitをcomposerでインストールしてきたものを使うように、設定ファイルを作成する。

作成する場所は『fuel/app/config/oil.php』としておく。

<?php
return array(
	'phpunit' => array(
		'binary_path' => 'fuel/vendor/phpunit/phpunit/composer/bin/phpunit'
	),
);

ユニットテストの実行

FuelPHPでPHPUnitのユニットテストを実行するには『oil test』としてあげればよい。『–group=Core』などとしてグループ単位でテストを実行することもできる。

普通に『oil test』を実行すると私の環境ではCoreの部分で15個ほどテストが失敗した。あまり気にはしていない。

oil test
oil test --group=App
oil test --group=Core

テストを作成する

FuelPHPではテストのコードを『fuel/app/tests』内に作成してあげればいいみたい。MVCでそれぞでフォルダ分けされているが、今回は適当にmodel内に簡単なコードを書いてみた。ちなみにまだPHPUnitに関してもよくわかっていませんが。

<?php
namespace Fuel\Core;

/**
 * Sapmle class tests
 *
 * @group App
 */
class Tests_Sample extends TestCase {

    /**
     * Tests sample method
     *
     * @test
     */
    public function test_sample1()
    {
        $this->assertEquals(0, 0);
    }

}

これで、『oil test –group=App』を実行すると以下のようになります

Tests Running...This may take a few moments.
PHPUnit 3.7.34 by Sebastian Bergmann.

Configuration read from /Users/keitarou/Dropbox/fuelphp/fuelphp_sample_blog/fuel/core/phpunit.xml

.

Time: 216 ms, Memory: 14.00Mb

OK (1 test, 1 assertion)

あとはこのプロジェクトをgitのリモートリポジトリに配置して、jenkinsからクローンしてきて、ユニットテストを実行するようにする。

Jenkinsの設定

Jenkinsではビルドの設定を『シェルの実行』にしておく。自分は以下のようなシェルを実行するようにした。

#!/bin/bash -e
export LC_CTYPE=en_US.UTF-8 
export LANG=en_US.UTF-8

git submodule init
git submodule update

php composer.phar update

oil test --group=App
oil test --group=Core

と、こんなかんじで、gitのサブモジュールとかがよくわかっていなくて詰まったのでここを残しておきたかっただけ。

ちなみにこっちでもCoreのテストが失敗するため、Jenkinsさんは怒である。

あと、jenkins側ももちろんoilのインストールをしておく、必要がある。

あとがき

次は、カバレッジの取得をしてみようかしら。

おすすめ書籍

FuelPHP入門
FuelPHP入門
posted with amazlet at 14.04.13
早川 聖司
ソーテック社
売り上げランキング: 78,610

関連記事

【読書感想文】「プロになるためのWeb技術入門」を読んで

まえがき 冬休みもに入って1週間が立ってしまった。 特に冬休み中にやら...

記事を読む

MacにPHP5.5をインストールする

まえがき Macには標準でPHP5.3かなんかがインストールされている...

記事を読む

【読書感想文】Jenkins実践入門 ~ビルド・テスト・デプロイを自動化する技術 を読み終えた

まえがき 少し最近ブログを書いていませんでした。色々諸事情があって主に...

記事を読む

Screeny Shot 2013-07-13 0.44.12.png

【WordPress】リンク先をサムネイル表示してくれるプラグインとその改造

まえがき [browser-shot url="http://goo...

記事を読む

Screeny Shot 2013-05-11 22.00.06.png

phpDocumentorのタグ書式と便利なプラグイン

まえがき http://www.absolute-keitarou....

記事を読む

新着記事

no image

PHPでRubyのirbっぽいインタラクティブなスクリプトが実行できる「boris」

まえがき PHPでもRubyのirbみたいなことがしたくて探してみたと...

記事を読む

2015年の抱負と去年の振り返り〜よちよちWEB業界1年経験して〜

まえがき あけましておめでとうございます。今年もどうぞよろしくお願いし...

記事を読む

Java SE 7 Bronze試験(1Z0-802)を受けてきました

まえがき 以前から少し受けてみたかった試験『Java SE 7 Bro...

記事を読む

HubotでJenkinsのジョブを実行する

まえがき HubotをつかってJenkinsのジョブをじっこうしてみた...

記事を読む

no image

Hubotをforeverでデーモン化する

まえがき 今回はHubotをforeverを使ってデーモン化してみた時...

記事を読む

スポンサーリンク

PAGE TOP ↑