Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

My journey through Rspec

on

  • 1,107 views

Charla presentada en RubyConf Uruguay 2010.

Charla presentada en RubyConf Uruguay 2010.
Experiencia escribiendo pruebas con Rspec, siendo el Ingles el segundo idioma.

Statistics

Views

Total Views
1,107
Views on SlideShare
1,107
Embed Views
0

Actions

Likes
0
Downloads
6
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    My journey through Rspec My journey through Rspec Presentation Transcript

    • My Journey Through Carmen Diaz Echauri cdechauri@gmail.com @cucurucho
    • Who I am? / Quien Soy? CARMEN
    • " Wow, I'm really nervous. “
    • I am humbled by the number of people, the energy and brilliant ideas that are going to be coming out South America over the next few years. I'm humbled by the fact that even though I am here to share some of my experience, that I could never come close to the experience and collective brilliance that is in this room and conference today. And I'm in awe of how far our community of developers have come. So before I begin I want to thank you for being here and I'm honored to have this opportunity.
    • Culture / Cultura Es la Cultura, no la Tecnología, la que trae el Cambio. Seymour Papert
    • Agil Practices / Practicas Ágiles Ciertas prácticas utilizadas en ciertas metodologías ágiles que implican código de calidad son: programación en parejas, pruebas unitarias, desarrollo de la historias conducidas, pruebas de aceptación, la comunicación con el cliente y refactorización constante…. Y MAS! AGIL IS COOL Practica 100 % ? ? ? ehhh uado Hardw are adec Diferente s proyec cidos Equipos redu tos & tec nologias
    • First Steps / Primeros pasos ⇒ Understanding other’s code/ Entender el código de otros. Ensalada de codigo
    • First Steps / Primeros pasos ⇒ Understanding other’s code/ Entender el código de otros. ⇒ Code review/ Revisiones de código ⇒ Pair Programing/ Programación en pares.
    • Test First / Pruebas Primero Cuantas veces han escrito pruebas como?
    • Dia 1 Test First / Pruebas Primero Controladores  probando la vista
    • Todo se resume en el comportamiento Las primeras frases a las que fui expuesta fueron:   You should wait a few months before starting work   You must stay at home and wait until your English gets better. Y mi Favorita:   You should wear glasses, jeans and t-shirt to look like a programmer.
    • comportamiento esperado contexto controlado independencia en ciertas situaciones Tiempo / Timing
    • Sintaxis   Escribir pruebas sin necesidad de tener un dominio absoluto del Ingles.  miObjeto.should == ‘algo’ miObjeto debe ser igual a ‘algo’  miObjeto.should do ‘algo’ miObjeto debe hacer ‘algo’
    • Simple lectura ….   no es necesario entender la sintaxis RSpec para poder utilizar Rspec   Rspec es fácil de leer y entender (aun con un ingles básico)   definición de requisitos de alto nivel de manera concisa y rápida   Rspec proporciona una separación de las pruebas de otros elementos existentes en un MVC.
    • Testing en Capas * Grafico preparado por RubyFocus http://www.rubyfocus.biz
    • Expectaciones Existen dos métodos para chequear expectaciones: should() & should_not(). Y matchers…… should respond_to() should be_nil -> funciona ademas con ? Metodo predicar Should be_valid Should not be_nil, should_not be_valid should eql, == -> compara valores Should equal, === ->compara objetos Y MAS ……..
    • Predicate Matcher En Ruby un método predicate es un método que termina en “?”y retorna una expresión booleana. mystring.empty?.should == true mystring.should be_empty
    • Estructura before Las expectaciones van escritas dentro de la “cosa Descripta” y en un contexto definido
    • Mi súper diccionario  Así que una razón para usar Rspec es su Claridad La clave esta conocer las palabras “mágicas” que describan el comportamiento deseado en pocos pasos.   Context: Contexto descripto   Describe: Describir “algo”   It <comportamiento> : comportamiento esperado de la cosa descripta   Should: deberia   Should not: no deberia
    • Prueba escrita por un niño Test First Teaching al REVES ;-)
    • Algunos Tips
    • Tips Variables de Instancias & Let
    • Tips
    • Tips Let   Te muestra quienes son los jugadores o involucrados.   Retorna una evaluacion ‘lazy’   Descarta el before block.
    • Tips Subject & it Sujeto implicito
    • Tips Subject & it Sujeto implicito
    • Tips Subject & it Definir el subjeto
    • Tips Its => Posesivo…
    • Tips Simple output -Simple lectura
    • Tips Changes
    • Tips Expect Util para expectaciones de ActiveRecords!
    • Tips Shoulda versus
    • Tips Shoulda Rspec generara una clara descripción Requiere gem shoulda validate_format_of, validate_presence_of, ……
    • Again!  La clave esta conocer las palabras “mágicas” que describan el comportamiento deseado en pocos pasos.   Context: Contexto descripto   Describe: Describir “algo”   It <comportamiento> : comportamiento esperado de la cosa descripta   Should: deberia   Should not: no deberia
    •   Hoy en Dia. El Código se lee mas de lo que se escribe
    • Gracias! - Thanks Cool People: YOU A huge thanks goes out to: My mentors & work team & for helping out with challenges and site coding! Inspirada por