Actions

Talk

Unit Testing -- a Simple Example

From Joomla! Documentation

Revision as of 07:58, 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.

[code] <?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(); }

?>

[/code]