symfonyUnderControlPlugin - 0.0.1

This plugin allows integration of symfony/lime testing with phpUnderControl continuous integration

You are currently browsing
the website for symfony 1

Visit the Symfony2 website


« Back to the Plugins Home

Signin


Forgot your password?
Create an account

Tools

Stats

advanced search
Information Readme Releases Changelog Contribute
This plugin is deprecated and is not maintained anymore. The functionality of this plugin is now available in the symfony core package, plugin therefore deprecated.
Show source

symfonyUnderControl plugin

The symfonyUnderControl plugin enables your symfony project to be run through the phpUnderControl (http://phpundercontrol.org) Continuous Integration environment. This can be used for automated unit testing, documentation generation, code coverage checks and even deployment to testing, staging or production environments.

Setting up a phpUnderControl environment is relatively easy, but it requires you have or install the following:

  • Java
  • CruiseControl
  • phpUnderControl

For additional functionality, you may also need

  • PHP_CodeSniffer
  • phpDocumentor
  • PHPUnit

Obviously, that last one is one we're trying to replace for projects where you use symfonyUnderControlPlugin ;)

There are various tutorials online on how to set up phpUnderControl, such as this one, I suggest you follow these to get the environment up and running. It is beyond the scope of this README to go into that. This README will focus on setting up symfonyUnderControl and configure phpUnderControl to use it for testing.

Installation

  • Install the plugin

    ./symfony plugin:install symfonyUnderControlPlugin --release=0.0.1
    
  • Configure your project in phpUnderControl

    • Create a new project in your project directory by either using phpuc.php project or creating the structure yourself
    • Configure your project's build.xml to use symfonyUnderControl

      // build.xml
      // ...
      
      <target name="build" depends="clearcache,test"/>
      
      <target name="clearcache">
        <exec executable="${basedir}/source/trunk/symfony">
          <arg line=" cc" />
        </exec>
      </target>
      
      <target name="test">
        <exec executable="${basedir}/source/trunk/symfony">
          <arg line=" test:undercontrol ${basedir}/build/logs/undercontrol.xml" />
        </exec>
      </target>
      // ...
      

      This is the most important step, because with this you configure the writing of the test output to an XML that can be read by phpUnderControl

  • Go to your phpUnderControl web interface and see your tests being executed and show up

TODO

  • Split up Functional and Unit tests into seperate Test Suites with seperate handling
  • Improve Functional Test handling
  • Improve documentation
  • Create the output XML the proper way instead of concatenating strings
  • Allow for plugin test execution