Unit Testing On Windows

This mini How-To will teach you how to run Akelos PHP Framework core tests on a windows environment using a XAMPP stack.

Supposing we have our XAMPP installed at “C:\xampp”, cURL enabled, a copy of Akelos at “C:\xampp\akelos_framework” and php.exe available at our current PATH.

We will create an Akelos application at “C:\xampp\htdocs\tests” for testing by running the command

php.exe C:\xampp\akelos_framework\akelos -d c:\xampp\htdocs\tests -f -deps

the '-deps' option will include the whole framework and its tests.

Now create a database named 'akelos_tests' and add a config file at config/config.php with the following settings (customize db credentials):

<?php

$database_settings = array(
    'testing' => array(
        'type' => 'mysql',
        'database_file' => '',
        'host' => 'localhost',
        'port' => '',
        'database_name' => 'akelos_tests',
        'user' => 'root',
        'password' => '',
        'options' => ''
    )
);

defined('AK_ENVIRONMENT') ? null : define('AK_ENVIRONMENT', 'testing');
define('AK_AVAILABLE_LOCALES', 'en,es');
define('AK_ACTIVE_RECORD_DEFAULT_LOCALES', 'en,es');
define('AK_APP_LOCALES', 'en,es');
define('AK_PUBLIC_LOCALES', 'en,es');

defined('AK_FRAMEWORK_DIR') ? null : define('AK_FRAMEWORK_DIR', 'C:\xampp\htdocs\tests');

defined('AK_TESTING_URL') ? null : define('AK_TESTING_URL', 'http://localhost/tests/test/fixtures/public');

// Update framework copy
exec('C:\xampp\php\php.exe C:\xampp\akelos_framework\akelos -d c:\xampp\htdocs\tests -f -deps');

// Fix testing htaccess
$_ht = file_get_contents('C:\xampp\htdocs\tests\test\fixtures\public\.htaccess');
$_ht = str_replace('# RewriteBase /test/fixtures/public','RewriteBase /tests/test/fixtures/public',$_ht);
file_put_contents('C:\xampp\htdocs\tests\test\fixtures\public\.htaccess',$_ht);

// Remove security rule
unlink('C:\xampp\htdocs\tests\test\.htaccess');

include_once(dirname(__FILE__).DIRECTORY_SEPARATOR.'boot.php');

?>

and now open a console, change to the testing dir

cd C:\xampp\htdocs\tests

and run the core unit tests with

php.exe script/test unit

If everything went OK you should see a “Unit tests for the Akelos Framework” message and in a few minutes you will see the results for the tests (hopefully)

C:\xampp\htdocs\tests>php.exe script/test unit
Unit tests for the Akelos Framework
OK
Test cases run: 61/61, Passes: 2748, Failures: 0, Exceptions: 0

And that's it what it takes to run core tests.

 
unit-testing-on-windows.txt · Last modified: 2007/11/18 23:26 by 83.55.94.165
 

The Akelos Framework was created by Bermi Ferrer and other contributors.
Potions of the code and documentation have been ported from Ruby on Rails.

The Akelos Framework is released under the LGPL license.

"Akelos", "Akelos Framework", and the Akelos logo are trademarks of Bermi Labs All rights reserved.

Wiki driven by DokuWiki