12
PHPSPEC EN 5 MINUTES

Php spec en 5 minutes

Embed Size (px)

Citation preview

PHPSPEC EN 5 MINUTES

QUI SUIS-JE ?

Arnaud Langlade (@_aRn0D)

Développeur Symfony chez Clever Age

Sylius core team member

www.clever-age.com / @CleverAge

KÉZAKO ?

GÉNÉRONS NOTRE SPEC

namespace spec;

use PhpSpec\ObjectBehavior;use Prophecy\Argument;

class CalculatorSpec extends ObjectBehavior function it_is_initializable() $this­>shouldHaveType('Calculator');

SPÉCIFIONS LA MÉTHODE ADD class CalculatorSpec extends ObjectBehavior // ...

function it_add_numbers() $this­>add(11, 2)­>shouldReturn(13);

LANÇONS NOS SPECS

EDITONS NOTRE MÉTHODE ADD class Calculator public function add($firstNumber, $secondNumber) return $firstNumber + $secondNumber;

C'EST VERT, ON EST CONTENT !

LES TYPE DE "MATCHER"Identité (===)Comparaison (==)ExceptionType (instanceof)Inline (matcher personnalisé)

LES BOUCHONS class CalculatorSpec extends ObjectBehavior function it_add_numbers(Integer $firstNumber, Integer $secondNumber) $firstNumber­>getValue()­>willReturn(11); $secondNumber­>getValue()­>willReturn(2);

$this­>add($firstNumber, $secondNumber)­>shouldReturn(13);

INSTANCIER UN OBJECT class CalculatorSpec extends ObjectBehavior // Methode éxécutée avant chaque exemple et letGo le sera après function let() $this­>beConstructedWith('My params');

MERCI! QUESTIONS ?

Arnaud Langlade

Twiter @_aRn0D