Я работаю в 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
На самом деле я не уверен, что я делаю неправильно. Даже я не уверен, что мне нужна библиотека груш.
Любая помощь приветствуется. Заранее спасибо .
MakeGood и Composer нужно немного поиграть, чтобы заставить их работать
Вы можете захотеть
Более поздние версии 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));
}
}
?>
Других решений пока нет …