piece / makegood

A continuous test runner for Eclipse PDT
https://github.com/piece/makegood/wiki
44 stars 17 forks source link

Error displayed in Makegood view: PHPUnit_Framework_TestCase class is not available #17

Closed ghost closed 11 years ago

ghost commented 11 years ago

Greetings,

I am running Makegood version 2.1.0.v201208021610 under Eclipse Indigo 3.7.2, with PHPUnit 3.7.8. Upon setting up Makegood through the Eclipse configuration panel, Makegood reports an error: "PHPUnit_Framework_TestCase class is not available".

I have not yet figured out what I need to do to correct this issue. PHPUnit no longer provides the PHPUnit/Framework.php file, which is presumably where PHPUnit_Framework_TestCase was defined; supposedly the phpunit command line executable now does all the preloading necessary in order to define required class files.

In case it helps, my php.ini (for the command line) include_path is ".:/usr/local/php5/lib/php:/usr/local/php5.4/lib/php/PHPUnit:/usr/local/php5.4/lib/php/PEAR"

My phpunit.xml (registered with the Makegood plugin via the PHPUnit configuration tab) is as follows:

<phpunit backupGlobals="true"
         backupStaticAttributes="false"
         <!--bootstrap="/path/to/bootstrap.php"-->
         cacheTokens="false"
         colors="false"
         convertErrorsToExceptions="true"
         convertNoticesToExceptions="true"
         convertWarningsToExceptions="true"
         forceCoversAnnotation="false"
         mapTestClassNameToCoveredClassName="false"
         printerClass="PHPUnit_TextUI_ResultPrinter"
         <!--printerFile="/path/to/ResultPrinter.php"-->
         processIsolation="false"
         stopOnError="false"
         stopOnFailure="false"
         stopOnIncomplete="false"
         stopOnSkipped="false"
         testSuiteLoaderClass="PHPUnit_Runner_StandardTestSuiteLoader"
         <!--testSuiteLoaderFile="/path/to/StandardTestSuiteLoader.php"-->
         strict="false"
         verbose="false">
  <!-- ... -->
</phpunit>

Thanks in advance for any help provided.

Erik Norvelle

====================== ISSUE FOLLOWUP ============================

This issue is RESOLVED. I used the following method to solve the problem:

1) Created a PEAR external library (from the general Eclipse properties dialog), with the path pointing to the PHP lib directory (in my case, /usr/local/php5/lib/, and not the PEAR folder itself.)

2) Added the PEAR library to the project's PHP include paths.

Makegood starts working. Thanks to Benjamin Stürmer (http://www.stuermer-benjamin.de/v12_1/eclipse-4-2-with-php-android-and-unit-testing/).

iteman commented 11 years ago

Happy testing with MakeGood :-)

ghost commented 11 years ago

"よくできました", as my old sensei used to say :)

iteman commented 11 years ago

That's right! :-) よくできました。

WesWedding commented 10 years ago

This issue can also be caused by a corrupted DTLK index that interferes with Eclipse being able to search the library directory correctly (assuming you've provided the correct library path to start searching). The symptoms of this problem are MakeGood not being able to find PHPUnit_Framework_TestCase no matter what path you are providing, as well as a very spammy eclipse Error Log (Found in Window -> Show View -> Other...).

You force the underlying database to be rebuild by deleting it completely. Close your Eclipse IDE, find your ."./.metadata/.plugins/org.eclipse.dltk.core.index.sql.h2/" folder and delete all of the files in there. The databases will be rebuilt when you open your IDE and try to add the library again.

lejek commented 10 years ago

Confirm above works. Also it heals similar disease with eclipse PHP Tools Integration plugin (http://www.phpsrc.org/projects/pti-phpunit/wiki) yelling that test class or test suite can't be found.

Archanciel commented 10 years ago

If you do not restart Eclipse, attempts to fix the MakeGood problem will fail !

Archanciel commented 10 years ago

Here is a summary of the steps I did to solve the problem in Eclipse Indigo with Makegood 2.4.1 installed: I do work on a pc running Windows 8.1 x64.

My project does include as library the PEAR folder ITSELF. I am using PEAR 1.9.4 and PHP 5.4.22 (Xampp 1.8.2)