Actions

Talk

Unit Testing -- a Simple Example

From Joomla! Documentation

Revision as of 09:06, 29 May 2008 by Pollen8 (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

im just starting to look at this but the code given in this page didn't work for me. Instead I had to wrap the setup and test functions inside a class, e.g.

<?php 
 
if (! defined('JUNIT_MAIN_METHOD')) {
        define('JUNIT_MAIN_METHOD', 'JRequestTest_GetMethod::main');
        $JUnit_home = DIRECTORY_SEPARATOR . 'unittest' . DIRECTORY_SEPARATOR;
        if (($JUnit_posn = strpos(__FILE__, $JUnit_home)) === false) {
                die('Unable to find ' . $JUnit_home . ' in path.');
        }
        $JUnit_posn += strlen($JUnit_home) - 1;
        $JUnit_root = substr(__FILE__, 0, $JUnit_posn);
        $JUnit_start = substr(
                __FILE__,
                $JUnit_posn + 1,
                strlen(__FILE__) - strlen(basename(__FILE__)) - $JUnit_posn - 2
        );
        require_once $JUnit_root . DIRECTORY_SEPARATOR . 'setup.php';
}
 
 
 
/*
 * Now load the Joomla environment
 */
if (! defined('_JEXEC')) {
        define('_JEXEC', 1);
}
require_once JPATH_BASE . '/includes/defines.php';
/*
 * Mock classes
 */
// (no mocks for this test)
 
/*
 * We now return to our regularly scheduled environment.
 */
require_once JPATH_LIBRARIES . '/joomla/import.php';
 
jimport( 'joomla.environment.request' );
 
class addElementTest_Mode1 extends PHPUnit_Framework_TestCase
{
        /**
         * Clear the cache
         */
        function setUp() {
                // Make sure the request hash is clean.
                $GLOBALS['_JREQUEST'] = array();
        }
 
        function testGetMethod()
        {
 
                $this->assertEquals('1', '1');
        }
}
 
// Call main() if this source file is executed directly.
if (JUNIT_MAIN_METHOD == 'JRequestTest_GetMethod::main') {
        JRequestTest_GetMethod::main();
}
 
 ?>


Pollen8 10:06, 29 May 2008 (EDT) pollen8