Класс PHPUnit_Framework_TestCase недоступен. Исправить … – Makegood, Eclipse

Я работаю в OSX 10.11

Я пытаюсь настроить PHPUnit, MAKEGood и Xdebug с Eclipse.

Выполняется XDebug. Я могу запустить тесты PHPUnit из консоли.

Но теперь настройка MakeGood намного сложнее, чем я ожидал.

Мои исполняемые файлы PHP

введите описание изображения здесь

Нужно ли добавлять грушу в Eclipse->Preferences->PHP->Libraries ? Я не уверен, потому что я установил PHPUnit с помощью Brew.

 brew install homebrew/php/phpunit 

Но снова я попытался включить PEAR.

Я дал путь как usr/local/bin потому что, когда я пытаюсь использовать which pear в терминале, она будет выводиться как

 /usr/local/bin/pear 

введите описание изображения здесь

И в моих свойствах проекта в PHP-> include path я добавил вышеупомянутую библиотеку PEAR.

все еще из Makegood ошибка приходит как

 PHPUnit_Framework_TestCase class is not available. Fix.. 

Я много пробовал, Ex: –

 reinstalling pear rm .metadata/.plugins/org.eclipse.dltk.core.index.sql.h2/* restart Eclipse Restart Computer change pear library path 

На самом деле я не уверен, что я делаю неправильно. Даже я не уверен, что мне нужна библиотека груши.

Любая помощь приветствуется. Заранее спасибо .

MakeGood и Composer нуждаются в некоторых попытках заставить их работать

Вы можете захотеть

  1. установить phpunit с композитором
  2. добавьте файл MakeGoodPreload.php в качестве сценария предварительной загрузки в настройке MakeGood.
  3. добавить phpunit.xml

Более поздние версии PHPUnit, возможно, выполнены с помощью композитора.

Сначала установите композитор:

 curl -sS https://getcomposer.org/installer | php 

См. https://phpunit.de/manual/current/en/installation.html.

затем установите phpunit

 php composer.phar require "phpunit/phpunit=4.8.*" 

теперь тест из командной строки

 vendor/phpunit/phpunit/phpunit.php test/MakeGoodTest.php 

используя файл MakeGoodTest.php ниже. Результат должен быть:

 PHPUnit 4.8.21 by Sebastian Bergmann and contributors. Warning: Deprecated configuration setting "strict" used . Time: 86 ms, Memory: 4.50Mb OK (1 test, 5 assertions) 

Недавние выпуски MakeGood поддерживают пользователя установленного phpunit.

В проекте Eclipse создайте проект «makegood», который содержит вашу установку композитора, test / MakeGoodTest.php, MakeGoodPreload.php и phpunit.xml.

Щелкните правой кнопкой мыши свойства проекта и перейдите на вкладку «MakeGood». на вкладке PHPUnit добавьте phpunit.xml, а на вкладке General установите Preload Script в MakeGoodPreload.php.

Теперь вы можете открыть MakeGoodTest.php в редакторе и щелкнуть правой кнопкой мыши, чтобы получить «Run Tests in class …».

запуск должен дать вам:

 PHPUnit 4.8.21 by Sebastian Bergmann and contributors. Warning: Deprecated configuration setting "strict" used . MakeGood [x] [32mPush and pop[39m Time: 192 ms, Memory: 8.75Mb OK (1 test, 5 assertions) 

phpunit.xml

 <phpunit backupGlobals="true" backupStaticAttributes="false" cacheTokens="false" colors="false" convertErrorsToExceptions="true" convertNoticesToExceptions="true" convertWarningsToExceptions="true" forceCoversAnnotation="false" mapTestClassNameToCoveredClassName="false" printerClass="PHPUnit_TextUI_ResultPrinter" processIsolation="false" stopOnError="false" stopOnFailure="false" stopOnIncomplete="false" stopOnSkipped="false" testSuiteLoaderClass="PHPUnit_Runner_StandardTestSuiteLoader" strict="false" verbose="false"> </phpunit> 

MakeGoodPreload.php

 <?php // This is a preload script to be used with // the Eclipse makegood continuous integration plugin // see https://github.com/piece/makegood/releases error_reporting(E_ALL); $loader = require 'vendor/autoload.php'; 

Тест / MakeGoodTest.php

 <?php class MakeGoodTest extends PHPUnit_Framework_TestCase { public function testPushAndPop() { $stack = array(); $this->assertEquals(0, count($stack)); array_push($stack, 'foo'); $this->assertEquals('foo', $stack[count($stack)-1]); $this->assertEquals(1, count($stack)); $this->assertEquals('foo', array_pop($stack)); $this->assertEquals(0, count($stack)); } } ?>