[TYPO3-mvc] PHPUnit & PHPStorm & Extbase

Henjo Hoeksma me at henjohoeksma.nl
Wed Mar 7 13:27:13 CET 2012


Hi Jochen,

thanks, I haven't had the chance yet to dive into it.

I'm afraid this will take a little while seeing the current work load ;-)

Kind regards,

Henjo

Problems are small because we learned how to deal with them.
Problems are big because we need to learn how to deal with them.


On Tue, Mar 6, 2012 at 23:23, Jochen Rau <jochen.rau at typoplanet.de> wrote:

> Hi Henjo,
>
> Any news on that? I'd be glad to support you.
>
> -Jochen
>
> On 2012-03-01, Henjo Hoeksma <me at henjohoeksma.nl> wrote:
> > @Claus thanks for your confidence in my abilities :-) That always helps!
> >
> > @Jochen: why didn't I think of that! Great initiative. Will see where
> this
> > will lead me!
> >
> > Kind regards,
> >
> > Henjo
> >
> > Problems are small because we learned how to deal with them.
> > Problems are big because we need to learn how to deal with them.
> >
> >
> > On Thu, Mar 1, 2012 at 17:27, Jochen Rau <jochen.rau at typoplanet.de>
> wrote:
> >
> >> Hi Henjo,
> >>
> >> I recently started to backport the FLOW3 UnitTestBootstrap.
> Unfortunately
> >> it's not
> >> finished, yet. Hope it helps anyway.
> >>
> >> Karsten describes the PHPStorm settings in his blog post.
> >>
> >> Best
> >> Jochen
> >>
> >>
> >> diff --git a/Tests/Unit/MVC/Web/Routing/UriBuilderTest.php
> >> b/Tests/Unit/MVC/Web/Routing/UriBuilderTest.php
> >> index 732fb3b..3cd8522 100644
> >> --- a/Tests/Unit/MVC/Web/Routing/UriBuilderTest.php
> >> +++ b/Tests/Unit/MVC/Web/Routing/UriBuilderTest.php
> >> @@ -25,8 +25,6 @@
> >>  *  This copyright notice MUST APPEAR in all copies of the script!
> >>  ***************************************************************/
> >>
> >> -require_once (t3lib_extMgm::extPath('extbase') .
> >> 'Tests/Unit/Fixtures/Entity.php');
> >> -
> >>  class Tx_Extbase_Tests_Unit_MVC_Web_Routing_UriBuilderTest extends
> >> Tx_Extbase_Tests_Unit_BaseTestCase {
> >>
> >>        /**
> >> diff --git a/Tests/Unit/Persistence/SessionTest.php
> >> b/Tests/Unit/Persistence/SessionTest.php
> >> index 8c5f217..546ba5f 100644
> >> --- a/Tests/Unit/Persistence/SessionTest.php
> >> +++ b/Tests/Unit/Persistence/SessionTest.php
> >> @@ -25,7 +25,7 @@
> >>  *  This copyright notice MUST APPEAR in all copies of the script!
> >>  ***************************************************************/
> >>
> >> -class Tx_Extbase_Tests_Unit_Persistence_SessionTest extends
> >> tx_phpunit_testcase {
> >> +class Tx_Extbase_Tests_Unit_Persistence_SessionTest extends
> >> Tx_Extbase_Tests_Unit_BaseTestCase {
> >>
> >>        /**
> >>         * @test
> >> diff --git a/Tests/Unit/UnitTestBootstrap.php
> >> b/Tests/Unit/UnitTestBootstrap.php
> >> new file mode 100644
> >> index 0000000..d6f1e05
> >> --- /dev/null
> >> +++ b/Tests/Unit/UnitTestBootstrap.php
> >> @@ -0,0 +1,47 @@
> >> +<?php
> >> +
> >> +define('TYPO3_OS',
> >> stristr(PHP_OS,'win')&&!stristr(PHP_OS,'darwin')?'WIN':'');
> >> +define('TYPO3_MODE','FE');
> >> +
> >> +define('PATH_thisScript', getcwd() . '/');
> >> +define('PATH_site', getcwd() . '/');
> >> +define('PATH_t3lib', PATH_site . 't3lib/');
> >> +define('TYPO3_mainDir', 'typo3/');
> >> +define('PATH_typo3', PATH_site . TYPO3_mainDir);
> >> +define('PATH_typo3conf', PATH_site . 'typo3conf/');
> >> +define('PATH_tslib', PATH_site.TYPO3_mainDir.'sysext/cms/tslib/');
> >> +
> >> +
> >> +require_once(PATH_t3lib . 'class.t3lib_div.php');
> >> +require_once(PATH_t3lib . 'class.t3lib_extmgm.php');
> >> +require_once(PATH_t3lib . 'interfaces/interface.t3lib_singleton.php');
> >> +
> >> +
> >> +require(PATH_t3lib . 'config_default.php');
> >> +
> >> +/*
> >> +function autoload($className) {
> >> +       $classNameParts = explode('_', $className, 3);
> >> +       if (isset($classNameParts[2])) {
> >> +               $classFilePathAndName =
> t3lib_extMgm::extPath('extbase') .
> >> 'Classes/' . strtr($classNameParts[2], '_', '/') . '.php';
> >> +               try {
> >> +                       if (file_exists($classFilePathAndName)) {
> >> +                               require_once($classFilePathAndName);
> >> +                       } else {
> >> +                               $classFilePathAndName =
> >> t3lib_extMgm::extPath('extbase') . strtr($classNameParts[2], '_', '/') .
> >> '.php';
> >> +                               if (file_exists($classFilePathAndName))
> {
> >> +
> >> require_once($classFilePathAndName);
> >> +                               }
> >> +                       }
> >> +
> >> +               } catch (BadFunctionCallException $exception) {
> >> +                       // Catch the exception and do nothing to give
> >> +                       // other registered autoloaders a chance to find
> >> the file
> >> +               }
> >> +       }
> >> +}
> >> +
> >> +spl_autoload_register('autoload', TRUE, TRUE);
> >> +*/
> >> +
> >> +?>
> >> \ No newline at end of file
> >> diff --git a/Tests/Unit/UnitTests.xml b/Tests/Unit/UnitTests.xml
> >> new file mode 100644
> >> index 0000000..5fee9c0
> >> --- /dev/null
> >> +++ b/Tests/Unit/UnitTests.xml
> >> @@ -0,0 +1,11 @@
> >> +<?xml version="1.0"?>
> >> +<phpunit strict="true"
> >> +               convertErrorsToExceptions="true"
> >> +               convertNoticesToExceptions="true"
> >> +               convertWarningsToExceptions="true">
> >> +       <testsuites>
> >> +               <testsuite name="All Tests">
> >> +                       <directory>../Unit</directory>
> >> +               </testsuite>
> >> +       </testsuites>
> >> +</phpunit>
> >> diff --git a/Tests/Unit/Utility/ExtensionTest.php
> >> b/Tests/Unit/Utility/ExtensionTest.php
> >> index b753a3e..e7119cc 100644
> >> --- a/Tests/Unit/Utility/ExtensionTest.php
> >> +++ b/Tests/Unit/Utility/ExtensionTest.php
> >> @@ -28,7 +28,7 @@
> >>  * @package Extbase
> >>  * @subpackage extbase
> >>  */
> >> -class Tx_Extbase_Tests_Unit_Utility_ExtensionTest extends
> >> tx_phpunit_testcase {
> >> +class Tx_Extbase_Tests_Unit_Utility_ExtensionTest extends
> >> Tx_Extbase_Tests_Unit_BaseTestCase {
> >>
> >>        /**
> >>         * Contains backup of $TYPO3_CONF_VARS
> >>
> >> On 2012-03-01, Henjo Hoeksma <me at henjohoeksma.nl> wrote:
> >> > Hi list,
> >> >
> >> > I would like to make the switch from running unit tests from inside a
> >> TYPO3
> >> > installation to running them from within PhpStorm.
> >> >
> >> > I found several resources on achieving this:
> >> >
> >> > [1] This suggests a full typo3 setup (tested, and works but not
> >> completely
> >> > the way I like - see below)
> >> > [2] This is for use in FLOW3 applications (not tested, seen in action
> and
> >> > would like something like this for Extbase extensions)
> >> >
> >> > I have my projects mostly not directly attached in a full TYPO3
> system,
> >> > that is not where I am working from. After a commit that I make I
> sync it
> >> > to my local development instance. I would like to run the tests
> before my
> >> > commit though.
> >> >
> >> > Any suggestions on how to set this up like [2] but working for
> standalone
> >> > extbase extensions? Or should I really go back to working from within
> my
> >> > local development sites?
> >> >
> >> > [1]
> >> >
> >>
> http://wiki.typo3.org/Using_the_PHPUnit_extension_for_TYPO3_v4_in_PhpStorm
> >> > [2]
> >> >
> >>
> http://blog.k-fish.de/2011/12/setting-up-phpstorm-for-use-as-flow3_19.html
> >> >
> >> > Thanks in advance for your thoughts! Keeping to improve workflows!
> >> >
> >> > Kind regards,
> >> >
> >> > Henjo
> >> >
> >> > Problems are small because we learned how to deal with them.
> >> > Problems are big because we need to learn how to deal with them.
> >>
> >>
> >> --
> >> Every nit picked is a bug fixed
> >> _______________________________________________
> >> TYPO3-project-typo3v4mvc mailing list
> >> TYPO3-project-typo3v4mvc at lists.typo3.org
> >>
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-project-typo3v4mvc
> >>
>
>
> --
> Every nit picked is a bug fixed
> _______________________________________________
> TYPO3-project-typo3v4mvc mailing list
> TYPO3-project-typo3v4mvc at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-project-typo3v4mvc
>


More information about the TYPO3-project-typo3v4mvc mailing list