Я использую macOs Mojave, MAMP (php 7.1.2), а недавно попробовал phpUnit, в настоящее время работающий под управлением v6.1.1.
Думаю, мне нужно обновить phpUnit до v7, поскольку я использую php7.1.2.
Я установил phpUnit через композитор. Вот некоторые подробности о текущей установке:
phpunit --version PHPUnit 6.1.1 от Себастьяна Бергманна и соавторов.
какой phpunit / USR / местные / бен / phpunit
При попытке обновить ничего не происходит:
композитор требует --dev phpunit / phpunit ^ 7
./composer.json обновлен Загрузка репозиториев композитора с информацией о пакете Обновление зависимостей (включая require-dev) Нечего устанавливать или обновлять Создание файлов автозагрузки
--версия PHPUnit 6.1.1 от Себастьяна Бергманна и соавторов.
По-прежнему Версия 6.1.1
Что я делаю неправильно?
С наилучшими пожеланиями Бить






Когда вы запускаете which phpunit /usr/local/bin/phpunit, кажется, что у вас глобально установлен PHPUnit на /usr/local/bin/phpunit.
У вас версия 7 при запуске vendor/bin/phpunit --version?
Чтобы использовать локальную версию, вам нужно запустить vendor/bin/phpunit вместо phpunit.
Чтобы обновить PHPUnit глобально, см. Инструкции здесь: https://phpunit.de/manual/6.5/en/installation.html
Вероятно, это другая проблема - звучит как пространство имен (ваши пространства имен должны совпадать с вашими путями к файлам и быть настроены в composer.json). См. Пример здесь: github.com/elliotjreed/php-package-boilerplate
NumberFormatter - это встроенный класс PHP, предоставляемый расширением intl. В вашем коде это используется? У вас установлено расширение?
с vendor / bin / phpunit --version я получаю PHPUnit 7.4.3! Приятно: D Тем не менее, когда я запускаю свой тестовый пример, я получаю сообщение об ошибке: Ошибка: класс «NumberFormatter» не найден. Я думал, что эта ошибка связана с версией phpunit ... Но теперь я думаю, что это не так;) У вас есть идея, почему я получаю эту ошибку? Я думаю, мне нужны расширения php_intl.dll, я попытался загрузить его в phpunit.xml, но он все еще не работает ...