質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.93%

PHPunitが上手くいかない MAMP phalcon

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 191

kotaue

score 14

前提・実現したいこと

MAMPで動かしているアプリのPHPunitを実施したいがエラーが起きてしまいます。

導入は以下の公式のドキュメントを参考にしています。
composer.jsonの中身は、phpとphalcon(2系)のバージョンに対応する、バージョンを調べてupdatesしています。

おそらくMAMPで作成しているアプリはMAMPのPHP Version 5.6.37で動かしているのですが
macにはいっているPHP 7.4.6がターミナルで./vendor/bin/phpunit を実施した際に動いている気がします。

MAMPのPHPに向ける方法はありますでしょうか。

■phalcon
https://teruchiphalcon-docs.readthedocs.io/ja/latest/reference/unit-testing.html

incubatorとphpunitインストール以外はドキュメント通りに進めています。
./vendor/bin/phpunitコマンドを入力した時のエラーです。

●参考
・PHPUnitとPHPのバージョン対応表
ttps://blog.shimabox.net/2016/09/15/phpunit-php-support-version/

・ここのREADME
https://github.com/phalcon/incubator

発生している問題・エラーメッセージ

PHP Deprecated:  The each() function is deprecated. This message will be suppressed on further calls in /Applications/MAMP/htdocs/phalcon_work/todo/vendor/phpunit/phpunit/src/Util/Getopt.php on line 38
PHP Stack trace:
PHP   1. {main}() /Applications/MAMP/htdocs/phalcon_work/todo/vendor/phpunit/phpunit/phpunit:0
PHP   2. PHPUnit_TextUI_Command::main($exit = *uninitialized*) /Applications/MAMP/htdocs/phalcon_work/todo/vendor/phpunit/phpunit/phpunit:52
PHP   3. PHPUnit_TextUI_Command->run($argv = *uninitialized*, $exit = *uninitialized*) /Applications/MAMP/htdocs/phalcon_work/todo/vendor/phpunit/phpunit/src/TextUI/Command.php:100
PHP   4. PHPUnit_TextUI_Command->handleArguments($argv = *uninitialized*) /Applications/MAMP/htdocs/phalcon_work/todo/vendor/phpunit/phpunit/src/TextUI/Command.php:111
PHP   5. PHPUnit_Util_Getopt::getopt($args = *uninitialized*, $short_options = *uninitialized*, $long_options = *uninitialized*) /Applications/MAMP/htdocs/phalcon_work/todo/vendor/phpunit/phpunit/src/TextUI/Command.php:240
PHP   6. each(*uninitialized*) /Applications/MAMP/htdocs/phalcon_work/todo/vendor/phpunit/phpunit/src/Util/Getopt.php:38

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /Applications/MAMP/htdocs/phalcon_work/todo/vendor/phpunit/phpunit/src/Util/Getopt.php on line 38

Call Stack:
    0.0016     397592   1. {main}() /Applications/MAMP/htdocs/phalcon_work/todo/vendor/phpunit/phpunit/phpunit:0
    0.0068     702736   2. PHPUnit_TextUI_Command::main(???) /Applications/MAMP/htdocs/phalcon_work/todo/vendor/phpunit/phpunit/phpunit:52
    0.0068     702848   3. PHPUnit_TextUI_Command->run(???, ???) /Applications/MAMP/htdocs/phalcon_work/todo/vendor/phpunit/phpunit/src/TextUI/Command.php:100
    0.0068     702848   4. PHPUnit_TextUI_Command->handleArguments(???) /Applications/MAMP/htdocs/phalcon_work/todo/vendor/phpunit/phpunit/src/TextUI/Command.php:111
    0.0070     729040   5. PHPUnit_Util_Getopt::getopt(???, ???, ???) /Applications/MAMP/htdocs/phalcon_work/todo/vendor/phpunit/phpunit/src/TextUI/Command.php:240
    0.0071     729480   6. each(???) /Applications/MAMP/htdocs/phalcon_work/todo/vendor/phpunit/phpunit/src/Util/Getopt.php:38

PHPUnit 4.8.36 by Sebastian Bergmann and contributors.

Usage: phpunit [options] UnitTest [UnitTest.php]
       phpunit [options] <directory>

Code Coverage Options:

  --coverage-clover <file>  Generate code coverage report in Clover XML format.
  --coverage-crap4j <file>  Generate code coverage report in Crap4J XML format.
  --coverage-html <dir>     Generate code coverage report in HTML format.
  --coverage-php <file>     Export PHP_CodeCoverage object to file.
  --coverage-text=<file>    Generate code coverage report in text format.
                            Default: Standard output.
  --coverage-xml <dir>      Generate code coverage report in PHPUnit XML format.

Logging Options:

  --log-junit <file>        Log test execution in JUnit XML format to file.
  --log-tap <file>          Log test execution in TAP format to file.
  --log-json <file>         Log test execution in JSON format.
  --testdox-html <file>     Write agile documentation in HTML format to file.
  --testdox-text <file>     Write agile documentation in Text format to file.

Test Selection Options:

  --filter <pattern>        Filter which tests to run.
  --testsuite <name>        Filter which testsuite to run.
  --group ...               Only runs tests from the specified group(s).
  --exclude-group ...       Exclude tests from the specified group(s).
  --list-groups             List available test groups.
  --test-suffix ...         Only search for test in files with specified
                            suffix(es). Default: Test.php,.phpt

Test Execution Options:

  --report-useless-tests    Be strict about tests that do not test anything.
  --strict-coverage         Be strict about unintentionally covered code.
  --strict-global-state     Be strict about changes to global state
  --disallow-test-output    Be strict about output during tests.
  --enforce-time-limit      Enforce time limit based on test size.
  --disallow-todo-tests     Disallow @todo-annotated tests.

  --process-isolation       Run each test in a separate PHP process.
  --no-globals-backup       Do not backup and restore $GLOBALS for each test.
  --static-backup           Backup and restore static attributes for each test.

  --colors=<flag>           Use colors in output ("never", "auto" or "always").
  --columns <n>             Number of columns to use for progress output.
  --columns max             Use maximum number of columns for progress output.
  --stderr                  Write to STDERR instead of STDOUT.
  --stop-on-error           Stop execution upon first error.
  --stop-on-failure         Stop execution upon first error or failure.
  --stop-on-risky           Stop execution upon first risky test.
  --stop-on-skipped         Stop execution upon first skipped test.
  --stop-on-incomplete      Stop execution upon first incomplete test.
  -v|--verbose              Output more verbose information.
  --debug                   Display debugging information during test execution.

  --loader <loader>         TestSuiteLoader implementation to use.
  --repeat <times>          Runs the test(s) repeatedly.
  --tap                     Report test execution progress in TAP format.
  --testdox                 Report test execution progress in TestDox format.
  --printer <printer>       TestListener implementation to use.

Configuration Options:

  --bootstrap <file>        A "bootstrap" PHP file that is run before the tests.
  -c|--configuration <file> Read configuration from XML file.
  --no-configuration        Ignore default configuration file (phpunit.xml).
  --no-coverage             Ignore code coverage configuration.
  --include-path <path(s)>  Prepend PHP's include_path with given path(s).
  -d key[=value]            Sets a php.ini value.

Miscellaneous Options:

  -h|--help                 Prints this usage information.
  --version                 Prints the version and exits.

該当のソースコード

{
    "require-dev": {
        "phpunit/phpunit": "~4.5"
    },
    "require": {

        "phalcon/incubator": "^2.0"
    }

}

補足情報(FW/ツールのバージョンなど)

MAMPのPHPは
PHP Version 5.6.37 を使用しています。

(macにはPHP 7.4.6が入っている)

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

check解決した方法

0

MAMPで使用していたPHPのパスを通せば大丈夫でした。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.93%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る