Класс 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

Но я снова попытался включить грушу.

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

/usr/local/bin/pear

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

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

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

PHPUnit_Framework_TestCase class is not available. Fix..

Я много чего перепробовал, например:

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

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

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

2

Решение

MakeGood и Composer нужно немного поиграть, чтобы заставить их работать

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

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

Более поздние версии PHPUnit опционально делаются с помощью composer.

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

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», который содержит ваши
установка композитора, тестирование / MakeGoodTest.php, MakeGoodPreload.php и phpunit.xml.

Щелкните правой кнопкой мыши свойства проекта и перейдите на вкладку «MakeGood».
на вкладке PHPUnit добавьте phpunit.xml, а на вкладке «Общие» установите сценарий предварительной загрузки в MakeGoodPreload.php.

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

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

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));
}
}
?>
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]