Pregunta

Tengo un script llamado Script.php y lo pruebo en Tests / Script.php, pero cuando ejecuto phpunit Tests no ejecuta ninguna prueba en mi archivo de prueba. ¿Cómo ejecuto todas mis pruebas con phpunit?

PHPUnit 3.3.17, PHP 5.2.6-3ubuntu4.2, último Ubuntu

Output:

$ phpunit Tests
PHPUnit 3.3.17 by Sebastian Bergmann.
Time: 0 seconds
OK (0 tests, 0 assertions)

Y aquí están mis scripts y archivos de prueba:

Script.php

<?php  
function returnsTrue() {  
    return TRUE;  
}  
?>

Tests/Script.php

<?php  
require_once 'PHPUnit/Framework.php';  
require_once 'Script.php'  

class TestingOne extends PHPUnit_Framework_TestCase  
{

    public function testTrue()
    {
        $this->assertEquals(TRUE, returnsTrue());
    }

    public function testFalse()
    {
        $this->assertEquals(FALSE, returnsTrue());
    }
}

class TestingTwo extends PHPUnit_Framework_TestCase  
{

    public function testTrue()  
    {  
        $this->assertEquals(TRUE, returnsTrue());  
    }

    public function testFalse()
    {
        $this->assertEquals(FALSE, returnsTrue());
    }
}  
?>
¿Fue útil?

Solución 2

Creé siguiendo phpunit.xml y ahora al menos puedo hacer phpunit --configuration phpunit.xml en mi directorio raíz para ejecutar las pruebas ubicadas en Tests /

<phpunit backupGlobals="false"
         backupStaticAttributes="false"
         syntaxCheck="false">
  <testsuites>
    <testsuite name="Tests">
      <directory suffix=".php">Tests</directory>
    </testsuite>
  </testsuites>
</phpunit>

Otros consejos

El nombre de archivo de la prueba de Php debe terminar con Test.php

phpunit mydir ejecutará todos los scripts llamados xxxxTest.php en el directorio mydir

(parece que no está descrito en la documentación de phpunit)

Creo que para quePHPUnit decida ejecutarlo automáticamente, debe seguir una convención de nombre de archivo: somethingTest.php.

Crees que habrían documentado esto. Acabo de leer el manual y dicen que puedes pasar un directorio, pero no realmente cómo hacerlo.

¿Quizás el nombre de su clase tiene que coincidir con el nombre base (todo menos el " .php ") del nombre de archivo de sus scripts de prueba?

<?php
//Files required for phpunit test
require_once 'PHPUnit/Framework.php';
//Knowing the drupal environment
require_once './includes/bootstrap.inc';     //initialize the Drupal framework
//Loading the drupal bootstrap
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
//Helper file
include_once 'helper.inc';
//Including inc file of addresses module
include_once(module_load_include('inc','addresses_user','addresses_user'));

class addresses_test extends PHPUnit_Framework_TestCase {

protected $uid;

protected function setUp()
{
    $this->uid = 1;
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top