问题
Is there any integration of PHPUnit with Eclipse PDT?
If not, are there any plans to do so?
回答1:
Sebastian Bergmann did approach pdt back in 2006... but with no obvious result.
And his latest entries on his blog only mention PHPEdit 2.12 and Zend Studio.
The only testing framework officially documented on the PDT side is the "PDT Testing Framework", and it does not seem actively maintained...
So, no. There does not seem to be any plan to actively integrate PHPUnit in PDT anytime soon.
回答2:
See Eclipse Plugin PHP Tool Integration (PTI) which provides integration of following features for Eclipse:
- PHP_CodeSniffer
- PHPUnit
- PHP Depend
- PHP Copy/Paste Detector
Update sites (Help - Install Software - Add ...):
Latest stable release: http://www.phpsrc.org/eclipse/pti/
Development version: http://www.phpsrc.org/eclipse/pti-dev/
回答3:
We've developed an Eclipse plugin called MakeGood that integrates PHPUnit and more testing frameworks with Eclipse PDT.
MakeGood is a continuous test runner to run unit tests on Eclipse PDT.
MakeGood provides fast feedback by automated workflows for running tests, tracking failures and errors and fatal errors. This will help developers to do Test Driven Development (TDD) and Continuous Testing.
For more information, visit our website at: https://github.com/piece/makegood/wiki
回答4:
It is possible to integrate PHPUnit with PDT in a simple way (these settings aren't fully generic but should be a good starting point).
- Select the Run > External Tools > External tools configurations
- Create a new program
- Set the Location to point to your executable (/usr/bin/phpunit on linux)
- Set the Working Directory to use the variable ${workspace_loc}
- Set the Arguments to ${resource_path}
Now select Run > External Tools > PHPUnit to execute the selected test file. This simply executes phpunit and sends STDOUT to the Eclipse terminal. Simple but effective.
Subsequently, you can use the icon with a green arrow and red toolbox to run PHPUnit without having to navigate the menus.
回答5:
(disclaimer: I am absolutely not the developer of the project I'm speaking about here; only a user ^^ (And as I don't know JAVA, it would be quite hard for me to help by contributing code... So this is my way of helping :-) ) )
There is currently work in progress on that side : a few weeks ago (maybe no more than two weeks), the first of a project of integrating phpunit in Eclipse has been released:
- http://code.google.com/p/phpunit4eclipse/
What it does:
- allows to launch phpunit tests from eclipse
- and get some "visual clue" of what is going on
- which is, in some way, better / more user-friendly than the approach proposed by Sebastian on phpunit's wiki.
For some kind of screenshot, see http://code.google.com/p/phpunit4eclipse/wiki/j2phpUnitWrapper
Unfortunately, it is not (yet?) developed as an Eclipse plugin:
- it is a separate JAVA project, that launches phpunit
- or something like that, as far as I can tell...
- which means :
- not as well integrated in Eclipse as it could
- most important thing is when you double-click on a test class/method, it doesn't get you to that class/method (because the tests' result are shown by the JAVA project, and the test class/method is in another, PHP, project)
- it is still quite hard to install :
- I have not successfully managed to install it in Eclipse PDT
- I have had to install "Eclipse IDE for Java Developers", and, then, install the PDT plugin in this one (which works fine, but is not "easy")
Anyway, this is work in progress, the project is still quite young, and it's only a first step...
A google group has been created for that project a few time ago: http://groups.google.com/group/phpunit4eclipse-user/
It is currently empty, but I'm sure it would help if some people joined in, gave their thoughts, and why not, helped!
回答6:
There is defnitely integration for Eclipse PDT and PHPUnit. both PHPSRC and MakeGood work well though I am a fan of MakeGood for phpunit phpsrc comes with other goodies like CodeSniffer. I have branched a PHPUnit CodeSniffer Standard on github that validates the quality of phpunit tests which I can run with the Eclipse PHP Tools CodeSniffer plugin. This has updates for new phpunit package like setUp and tearDown.
makes sure there is assertions in tests. Something devs like to leave out when trying to meet code coverage metrics
Makes sure there is no more than 1 assertion per test. A best practice
Setting up PDT in Eclipse is not straightforward.
There's a lot of tiny details involved Here's the high level steps.
1 Windows update
2 Install JRE a. http://www.java.com/en/download/index.jsp
3 Create a folder C:\eclipse\workspace
4 Install eclipse pdt
a. http://www.zend.com/en/downloads/thankyou?package=5735 Install xampp –win32-1.81-vc9
a. http://sourceforge.net/projects/xampp/files/XAMPP%20Windows/1.8.1/xampp-win32-1.8.1-VC9-installer.exe/download6 Install pear phpunit
pear clear-cache
pear upgrade pear
pear update-channels
pear upgrade --alldeps -f
pear channel-discover pear.phpunit.de
pear channel-discover pear.symfony-project.com
pear channel-discover components.ez.no
pear install --alldeps phpunit/PHPUnit
7 Install Xdebug plugin
a. http://xdebug.org/files/php_xdebug-2.2.1-5.4-vc9.dll
b. Phpinfo settings for xdebug
[xdebug]
zend_extension = "C:\xampp\php\ext\php_xdebug-2.2.1-5.4-vc9.dll"
xdebug.remote_enable=1
xdebug.remote_handler="dbgp"
xdebug.remote_mode="req"
xdebug.remote_port=9000
xdebug.remote_host = "127.0.0.1"
xdebug.remote_log="C:\xampp\php\logs"
- 8 Install MakeGood a. http://eclipse.piece-framework.com/
It took me nearly 3 days to finally get everything right so I put together a video tutorial
Good luck!
回答7:
There is a plugin on the Eclipse Marketpalce now called PTI PHP Tool Integration.
http://www.phpsrc.org/
回答8:
I also run PHPUnit as an external tool like DavidWinterbottom proposed.
One thing I also add depending on the type of project is going into Build Options tab and selecting first options after : "run the builder :". This triggers the unit tests to be run every time you save a file. This is great to get a really quick red-green-refactor feedback loop.
I have posted the entire steps with screenshots here : http://nicholaslemay.blogspot.com/2010/02/using-eclipse-phpunit-as-automatic.html
回答9:
Using phpunit from Ant also is possible, and Ant is natively supported by Eclipse. Simple have a new <exec executable="phpunit">
in a target and voilà, you can use phpunit in eclipse, through ant.
回答10:
Following @DavidWinterbottom response (Eclipse Indigo):
Select the Run -> External Tools -> External tools configurations
Create a new program
Set the Location to point to your executable (
/usr/bin/phpunit
on Linux, or path tophpunit.bat
on Windows)Set the Arguments to absolute path to your
phpunit
folder (C:\phpproject\testunit
)
I couldn't make get it to using ${project_loc}
or ${project_path}
.
回答11:
For all using composer on unix like machine (eclipse and xdebug installed):
cd <project-root>
ln -s vendor/bin/phpunit phpunit.php
Open eclipse, open run/debug configuration, create a new debug configuration, and select phpunit.php
as file to debug. Continue the rest of the setup as usual, set breakpoints, that's it.
回答12:
You have and integration of PHPUnit on top of PDT in Zend Studio. There is a CE edition too.
回答13:
I tried PHP Unit in Eclipse and was not happy with the configuration issues. I switched to NetBeans PHP IDE. I recommend NetBeans PHP IDE for PHP Unit testing. http://www.netbeans.org/kb/docs/php/phpunit.html
来源:https://stackoverflow.com/questions/966673/eclipse-pdt-phpunit