Nur bestimmte Testmethoden mittels filter Parameter ausführen
Geschrieben von Dejan Spasic • Thursday, 2. December 2010 • Kategorie: PHP • Kommentare (0)Es gibt Fälle wo man schnell nur eine Methode testen möchte bzw. eine Testmethode ausführen möchte. Mit PHPUnit kann dieses Anliegen schnell mit dem Parameter filter gelöst werden. Hier eine simple Klasse die getestet werden soll.
<?php
declare(encoding="UTF-8");
namespace DD
{
class Foo
{
private $value;
public function __construct($value = null)
{
$this->value = $value?:__CLASS__;
}
public function getValue()
{
return $this->value;
}
}
}
Und dazu die Test-Klasse:
<?php
declare(encoding="UTF-8");
require_once "Foo.php";
class DD_FooTest extends PHPUnit_Framework_TestCase
{
/**
* @test
*/
public function getValue_withDefaultValue()
{
$subject = new DD\Foo();
$this->assertEquals("DD\\Foo", $subject->getValue());
}
/**
* @test
*/
public function getValue_withCustomValue()
{
$subject = new DD\Foo(__CLASS__);
$this->assertEquals("DD_FooTest", $subject->getValue());
}
}
Möchte man nun nur die Testmethode getValue_withCustomValue ausführen, so gibt man einfach den folgenden Befehl ein.
phpunit --filter getValue_withCustomValue FooTest.php
Reguläre Ausdrücke sind hier auch erlaubt.
phpunit --filter *_with[A-Z]ustom* FooTest.php
Opps. Was musste ich heute festellen PHPUnit 3.0 ist draussen. Da muss ich mal direkt Testen 
