PHP7 + FuelPHP1.8 で PHPUnitでテストする

ローカルPC上に PHP7, FuelPHP1.8環境を構築しました。

php -v
# 以下が表示
PHP 7.0.11 (cli) (built: Oct 2 2016 00:32:27) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
cd fuelphp
oil -v
# 以下が表示
Fuel: 1.8 running in "development" mode

テストを実行してみます。
FuelPHPでは oilコマンドからテストを実行できるようです。

oil test
# 以下が表示
Uncaught exception Oil\Exception: PHPUnit does not appear to be installed.

Please visit http://phpunit.de and install.
Callstack:
#0 /Users/runble1/work/fuelphp/oil(68): Oil\Command::init(Array)
#1 {main}

見事に失敗したので、FuelPHP1.8で PHPUnitを実行できるようにします。

FuelPHP1.8で PHPUnitを実行する

エラーを見ると PHPUnitが見当たらないとのことです。
composerでインストールされていないのか確認します。

cat composer.json | grep phpunit

ないですね・・・
本家サイトの composer.json を確認してもないようです。

PHPUnitをインストールしましょう。
最新の安定版は PHPUnit5.6です。

phpunitのインストールは composerで行います。

vim composer.json
"require": {
    "php":"5.3.3",
    〜省略〜
    "phpunit/phpunit":"5.6.*"
},

インストールします。

./composer.phar update
# 以下が表示
- Installing phpunit/phpunit (5.6.2)
 Downloading: 100%

PHPUnitにパスを通します。

vim fuel/app/config/oil.php
<?php

return [
    'phpunit' => [
        'binary_path' => APPPATH . '../vendor/bin/phpunit'
    ]
];

テストできるようになりました。

oil test
# 以下が表示
Tests Running...This may take a few moments.
PHPUnit 5.6.2 by Sebastian Bergmann and contributors.

............................................................... 63 / 402 ( 15%)
............................................................... 126 / 402 ( 31%)
............................................................... 189 / 402 ( 47%)
............................................................... 252 / 402 ( 62%)
............................................................... 315 / 402 ( 78%)
............................................................... 378 / 402 ( 94%)
........................ 402 / 402 (100%)

Time: 574 ms, Memory: 12.00MB

OK (402 tests, 497 assertions)

参考

FuelPHPで、oil test したときに、「Uncaught exception Oil\Exception: PHPUnit does not appear to be installed.」と言われた時にすること

PHP7でFuelPHPを使うぞ!!

ユニットテスト

コメント

タイトルとURLをコピーしました