1
1

More than 1 year has passed since last update.

FuelPHP で PHPUnit を導入する際に、はまっとところ

Posted at

備忘録

PHPUnit のバージョンが分からない

FuelPHP は開発が進んでいるようで、進んでいるか分からない(coreは開発されているが、fuelは開発が止まっているので...)ので、PHPUnit は安全に昔めの 4.8 台をインストールしました。
新しい PHPUnit だと、PHPUnit/Autoload.php がないので、使えません。

composer.json
    "require": {
        ... 省略,
        "phpunit/phpunit": "^4.8"
    },

PHP7 以前 の each などに関わるエラー

PHP8 を使っている場合は、出てきます。
黙って、PHP7 をダウンロードしましょう。自分は 7.3.33 にしました。
今回は、phpbrew というツールを使ってダウンロードします。

ただ、phpbrew で PHP7 をインストールするのに、PHP8.0台が必要なので、brew install php@8.0brew link --force php@8.0 などで、8.0台をインストールします。
自分の場合は、環境変数を下のように設定して、

.bash_profile
# phpbrew
source ~/.phpbrew/bashrc
export OPENSSL_PREFIX=$(brew --prefix openssl@1.1)
export OPENSSL_CFLAGS="-I${OPENSSL_PREFIX}/include"
export CFLAGS="-I${OPENSSL_PREFIX}/include"
export OPENSSL_LIBS="-L${OPENSSL_PREFIX}/lib -lcrypto -lssl"
export PATH="/opt/homebrew/opt/php@8.0/bin:$PATH"
export LDFLAGS="-L$(xcrun --show-sdk-path)/usr/lib/system"

そして、次のコマンドを打ったら、ダウンロードできました。

phpbrew install 7.3.33 +pdo +mysql +default +zlib="$(brew --prefix zlib)" +openssl=$(brew --prefix openssl@1.1) -- --without-pcre-jit

+pdo+mysql を忘れると後でインストールするのが面倒なので、忘れないようにしましょう。

phpunit command not found

これも FuelPHP のライブラリの内容を変更します。
変更するのは、app/core/packages/oil/config/oil.php の 45, 46行目のところ。

app/core/packages/oil/config/oil.php
+		'autoload_path' => VENDORPATH.'/phpunit/phpunit/PHPUnit/Autoload.php' ,
+		'binary_path'   => VENDORPATH.'bin/phpunit' ,

これで直ります。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1