Rigor Talks – PHP – #8 – Self-Shunt (Spanish)

Hola Amigos del Rigor! Vamos a con el segundo de los cuatro videos sobre patrones de “Unit Testing”, especialmente, para código acoplado. En este video, veremos un atajo para implementar “Test Classes” usando un patrón conocido como “Self-Shunt”.

He creado una lista de reproducción pública con los videos que vaya publicando. La podéis encontrar aquí. Espero que os guste!

#MayTheRigorBeWithYou

  • Entiendo que el Self-Shunt servirá para contadas ocasiones no? Ya que si necesitas implementar varias interfaces ya es mas complicado no?

    • cbuenosvinos

      Gracias por el comentario! Sirve para bastantes situaciones. El Test Case puede implementar tantas interfaces como necesites siempre que no haya colisión de nombres, así que puede tener muchos comportamientos en una misma clase.

      Sea como sea, si quieres una regla general que funcione siempre, créate una clase a parte ;)

      • Okey. Si, entiendo que si quieres comportamientos concretos y no tener un montón de implements en la clase del test lo mejor es ir haciendo clases concretas, así también mantienes la clase del test mas limpio. Igualmente me ha parecido interesante el tip este :)

  • Rafał Kozłowski

    Nice example, but personally I prefer to use anonymous classes like this:
    this$->assertTrue(
    Temperature::take(10)->isSuperCold(
    new class() implements ColdThresholdSource {
    public function getThreshold() : int {
    return 50;
    }
    }
    )
    );

    • cbuenosvinos

      Thanks for the comment! The next Rigor Talk is exactly about this. The video is already recorded and it will be published, next Tuesday. I wanted to show this version because not everyone has PHP 7 yet.

      • Rafał Kozłowski

        Ok, cool. Good to know, looking forward then. You are giving all examples in PHP7 though :) You know, return types and stuff :P Good luck with next videos!

        • cbuenosvinos

          Yep. You’re right! Inconsistency, lol!

  • Rafał Kozłowski

    Btw, please, fix this error message on bottom left corner “Test framework quit unexpectedly” – it is hurting my eyes :D

    • cbuenosvinos

      Ok! Thanks!