Testar uma classe é fácil de fazer com Python, adicionando a seguinte condição ao final do arquivo:
if (__name__ == '__main__'):
# module test
Desta forma é possÃvel testar a classe executando o arquivo como um script.
Esta parte do código não será executada em vez disso se o arquivo for importado como um módulo.
Bem, você pode fazer a mesma coisa com o PHP usando a função debug_backtrace !
if (!debug_backtrace ()) {
// module test
}
Seguindo um exemplo completo:
// Person.php
<?php
class Person {
private $name;
public function __construct ($name) {
$this->name = $name;
}
public function introduce () {
echo 'Hello, my name is ' . $this->name;
}
}
if (!debug_backtrace ()) {
$wilk = new Person ('Wilk');
$wilk->introduce ();
}
?>
Quando Person.php for executado diretamente, ele imprimirá: ‘Olá, meu nome é Wilk’, mas se incluirmos a classe Person em outro arquivo, será o seguinte:
// Developer.php
<?php
class Developer extends Person {
private $language;
public function __construct ($name, $language) {
$this->language = $language;
parent::__construct ($name);
}
public function introduce () {
echo $this->name ' knows ' . $this->language;
}
}
if (!debug_backtrace ()) {
$wilk = new Developer ('Wilk', 'PHP');
$wilk->introduce ();
}
?>
ele irá imprimir: Wilk conhece PHP em
vez de: Olá, meu nome é WilkWilk conhece PHP
Agora, vá e escreva classes testáveis!