Actions

Talk

Unit Testing -- a Simple Example

From Joomla! Documentation

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