Я создаю проект, в котором я использую композитор для получения всех моих зависимостей. Я также использую phpunit, где я просто перенес свой проект на phpunit 6.0. До этого изменения мой phpunit всегда работал правильно.PHPUnit не распознает тесты в данном каталоге
Перед этим я использовал версию 5.7.13
.
Я в настоящее время требует пакет в моем composer.json
так:
"require-dev": {
"phpunit/phpunit": "^6.0"
},
Я пусть все мои тесты продлить \PHPUnit\Framework\TestCase
класс вместо PHPUnit_Framework_TestCase
класса.
Моя конфигурация осталась прежней, которая выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8" ?>
<phpunit bootstrap="vendor/autoload.php"
color="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
stopOnFailures="false"
syntaxCheck="false">
<testsuites>
<testsuite name="Unit Tests">
<directory>./tests/bas/ProjectName/</directory>
</testsuite>
</testsuites>
</phpunit>
Моя структура каталогов выглядит следующим образом:
├───src
│ └───bas
│ └───ProjectName
│ └───... source files
├───tests
│ └───bas
│ └───ProjectName
│ ├───...test files like "ExampleTest.php"
при открытии терминала в корне моего проекта и введя phpunit
, он дает следующее сообщение:
PHPUnit 3.7.21 от Sebastian Be rgmann.
чтения конфигурации из C: \ Users \ Bas \ Web_development \ ProjectName \ phpunit.xml
Время: 30 мс, Память: 4.00MB
тестирование не выполнено!
Я уже попытался добавить suffix="Test.php"
к directory
тег внутри конфигурации PHPUnit.
Я также попытался удалить папку /vendor/
из Composer и установить пакеты обратно командой composer update
.
Все мои тестовые функции начинаются с слова test
.
the answer from John Smith С Я получаю следующее сообщение об ошибке:
dir=$(d=${0%[/\\]*}; cd "$d"; cd "../phpunit/phpunit" && pwd)
# See if we are running in Cygwin by checking for cygpath program
if command -v 'cygpath' >/dev/null 2>&1; then
# Cygwin paths start with /cygdrive/ which will break windows PHP,
# so we need to translate the dir path to windows format. However
# we could be using cygwin PHP which does not require this, so we
# test if the path to PHP starts with /cygdrive/ rather than /usr/bin
if [[ $(which php) == /cygdrive/* ]]; then
dir=$(cygpath -m "$dir");
fi
fi
dir=$(echo $dir | sed 's/ /\ /g')
"${dir}/phpunit" "[email protected]"
являются функционируют с правильным именем (я считаю, что они должны начать с 'test') в файле? – Nanne
@Nanne Да, есть. – Bas
Вы выиграли? –