April 28th, 2013 Category: Curso Testing XP
2 Comments »

Volviendo un poco a generar videos, la idea es mostrar un poco como crear aplicaciones usando TDD en PHP.

Para esto vamos usar PHPUnit, y ningun framework especifico.

En el video vamos a ver el siguiente codigo

tests/CalculatorTest.php


require_once 'src/Calculator.php';

class CalculatorTest extends \PHPUnit_Framework_TestCase
{

    /**
     * @dataProvider diffProvider
     */
    public function test_Give_2_Real_Numbers_Should_Return_The_Difference_Between_Both($a, $b, $expectedResult)
    {

        $calculator = new Calculator();

        $result = $calculator->diff($a, $b);

        $this->assertEquals($expectedResult, $result);

    }

    /**
     * @expectedException InvalidArgumentException
     */
    public function test_Given_A_String_Should_Throw_An_Exception()
    {
        $calculator = new Calculator();

        $calculator->diff(5, 'tres');
    }

    public function diffProvider()
    {
        return [
            [5, 3, 2],
            [10, 5, 5],
            [-5, 5, -10],
            [5, 4, 1],
        ];
    }
}

src/Calculator.php



class Calculator
{

    public function diff($numb1, $numb2)
    {
        if (is_string($numb1) || is_string($numb2)) {
            throw new \InvalidArgumentException('Is not a number');
        }
        return $numb1 - $numb2;
    }
}
Subscribe to me on YouTube

Comentar


2 Responses

Carlos 2013-04-28 23:34:51
Gracias por el tutorial. Aunque tengo mil dudas esto me ayuda bastante.

Melina Olariaga 2014-04-10 12:36:31
uenos días, desde Puente Digital Buscamos programador Php, MySql, Ajax con manejo de:

- DB Designer / Mysql Workbench
- Eclipse
- POO
-Propel
Esperamos pueda contactarse con nosotros a fin de poder ver la calidad en sus trabajos y establecer a futuro una posible relación de trabajo, aguardo respuestas gracias