Skip to content

Instantly share code, notes, and snippets.

@Chavao
Created November 2, 2012 05:28
Show Gist options
  • Save Chavao/3998902 to your computer and use it in GitHub Desktop.
Save Chavao/3998902 to your computer and use it in GitHub Desktop.
Exemplo de mock com PHPUnit
<?php
class Usuario {
public function obterUsuarios() {
// Conecta com banco de dados e retorna: "Todos os Usuarios"
return "Todos os Usuarios";
}
}
class Jogo {
private $usuario;
function __construct($usuario = null) {
if($usuario == null)
$usuario = new Usuario();
$this->usuario = $usuario;
}
public function setUsuario($usuario) {
$this->usuario = $usuario;
}
public function rankingUsuarios() {
return $this->usuario->obterUsuarios();
}
}
class TestJogo extends PHPUnit_Framework_TestCase {
public function testRanking() {
$esperado = "Nenhum usuário";
$usuario = $this->getMock("Usuario");
$usuario->expects($this->any())
->method('obterUsuarios')
->will($this->returnValue($esperado));
$b = new Jogo();
$b->setUsuario($usuario);
$this->assertEquals($b->rankingUsuarios(), $esperado);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment