Commit 7777dc5eaf28a25575cf12b8e7e42ce8e251328d

Authored by Eriksen Costa Paixão
1 parent 1555aeb5
Exists in master

r25@erik: eriksen | 2009-04-24 19:18:07 -0300

by Eriksen: Adicionado classes abstratas para a interface com o framework PHPUnit.
 
 Estas classes tem como objetivos:
  * diminuir a dependência desse framework;
  * facilitar o desenvolvimento de testes unitários e funcionais.
 
 Notas explicativas:
  * é necessário ter o framework [http://www.phpunit.de/wiki/Documentation PHPUnit] instalado no seu classpath para criar os testes;
  * ambos os arquivos das classes abstratas alteram o diretório atual com [http://php.net/chdir chdir()] para o diretório intranet/ afim de facilitar o uso do comando phpunit e da inclusão das classes do i-Educar para testes;
  * testes unitários devem ser criados em unit/ e testes funcionais em functional/;
  * testes [http://seleniumhq.org/documentation/ Selenium] precisam ser atualizados sempre que uma atualização de interface ocorrer.
 
ieducar/tests/FunctionalBaseTest.class.php 0 → 100644
... ... @@ -0,0 +1,56 @@
  1 +<?php
  2 +
  3 +/**
  4 + * FunctionBaseTest class.
  5 + *
  6 + * Contém as configurações de acesso ao servidor Selenium RC, a conta de usuário
  7 + * a ser utilizada no teste e alguns métodos auxiliares.
  8 + *
  9 + * Muda o diretório atual para que os testes possam ser facilmente invocados
  10 + * em qualquer subdiretório do sistema.
  11 + *
  12 + * Abstrai o PHPUnit, diminuindo a dependência de seu uso. Inclui a classe
  13 + * de banco de dados para facilitar no tearDown de dados de teste.
  14 + *
  15 + * @author Eriksen Costa <eriksen.paixao_bs@cobra.com.br>
  16 + * @since 1.0.1
  17 + * @version SVN: $Id$
  18 + */
  19 +
  20 +chdir(realpath(dirname(__FILE__) . '/../') . '/intranet');
  21 +require_once 'PHPUnit/Extensions/SeleniumTestCase.php';
  22 +require_once 'include/clsBanco.inc.php';
  23 +
  24 +abstract class FunctionalBaseTest extends PHPUnit_Extensions_SeleniumTestCase {
  25 +
  26 + // Configurações do Selenium RC
  27 + static protected
  28 + $slBrowserUrl = 'http://ieducar.local',
  29 + $slBrowser = '*firefox',
  30 + $slPort = 4444,
  31 + $slHost = 'localhost';
  32 +
  33 + // Conta de usuário para testes funcionais
  34 + protected
  35 + $slUsuarioLogin = 'ieducar',
  36 + $slUsuarioSenha = '12345678';
  37 +
  38 + protected function setUp() {
  39 + $this->setBrowser(self::$slBrowser);
  40 + $this->setHost(self::$slHost);
  41 + $this->setPort(self::$slPort);
  42 + $this->setBrowserUrl(self::$slBrowserUrl);
  43 + }
  44 +
  45 + protected function doLogin() {
  46 + $this->open('/intranet');
  47 + $this->type('login', $this->slUsuarioLogin);
  48 + $this->type('senha', $this->slUsuarioSenha);
  49 + $this->clickAndWait("//input[@value='Entrar']");
  50 + }
  51 +
  52 + protected function doLogout() {
  53 + $this->click("//img[@alt='Logout']");
  54 + }
  55 +
  56 +}
0 57 \ No newline at end of file
... ...
ieducar/tests/UnitBaseTest.class.php 0 → 100644
... ... @@ -0,0 +1,19 @@
  1 +<?php
  2 +
  3 +/**
  4 + * UnitBaseTest abstract class.
  5 + *
  6 + * Muda o diretório atual para que os testes possam ser facilmente invocados
  7 + * em qualquer subdiretório do sistema.
  8 + *
  9 + * Abstrai o PHPUnit, diminuindo a dependência de seu uso.
  10 + *
  11 + * @author Eriksen Costa <eriksen.paixao_bs@cobra.com.br>
  12 + * @since 1.0.1
  13 + * @version SVN: $Id$
  14 + */
  15 +
  16 +chdir(realpath(dirname(__FILE__) . '/../') . '/intranet');
  17 +require_once 'PHPUnit/Framework.php';
  18 +
  19 +abstract class UnitBaseTest extends PHPUnit_Framework_TestCase {}
0 20 \ No newline at end of file
... ...