TDD

Et tout un tas d'autres choses ;)

Fabien Hiegel
Mohammed Lamzira
Thomas Carpaye

On avait dit pas trop long Cédric ?:p

Le TDD, c'est quoi ?

Selon vous ?

Juste ça ?

Merci d'avoir suivi la formation TDD

On va boire des verres ?

TDD !!!

Il veut dire

quoi le T déjà ?

C'est quoi un test ?

Selon vous ?

Unit Tests are FIRST

Fast

Isolated

Repetable

Self verifying

Timely

Anatomie d'un test

@Test
void should_be_able_to_send_an_email() {
    // GIVEN
   
Session session = Session.getInstance(new Properties(), null);
    Message msg = createMessage(session);

    // WHEN
   
sendMessage(session, msg);

    // THEN
 
MimeMessage[] messages = mailServer.getReceivedMessages();
    assertThat(messages).hasSize(1);
    assertThat(messages[0].getSubject()).isEqualTo(EMAIL_SUBJECT);
    assertThat(messages[0].getContent().toString().trim()).isEqualTo(EMAIL_TEXT);
    assertThat(messages[0].getFrom()[0].toString()).isEqualTo(EMAIL_TO);
}

Petit à petit

Baby steps

RED

Make it fail

No code without a failing test

GREEN

REFACTOR

Make it work

As simply as possible

Make it

Better

Trois lois du TDD

  1. Vous devez écrire un test qui échoue avant d’écrire tout code de production

  2. Vous ne devez pas écrire plus d’un test suffisant pour échouer, ou qui échouera à la compilation

  3. Vous ne devez pas écrire plus de code que nécessaire pour faire passer le test en cours

Easy ;)

TDD

is NOT about testing

 

is NOT about test first

 

is a methodology

 

is about design and development

 

is your assistant

Kata

Kata

par vos formateurs

Demo

Leap Years

Kata

Write a function that returns true or false depending on whether its input integer is a leap year or not.

 

A leap year is divisible by 4, but is not otherwise divisible by 100, unless it is also divisible by 400.

 

For example, 2001 is a typical common year

and 1996 is a typical leap year,

whereas 1900 is an atypical common year

and 2000 is an atypical leap year.

 

Bon appétit

Refactoring

TPP

RPN Calculator

https://codingdojo.org/kata/RPN/

Kata

Inside out / Ouside in

C'est quoi un mock, fake, stub, etc.?

Birthday Greetings

https://github.com/xpmatteo/birthday-greetings-kata

Kata

Bank account

https://github.com/sandromancuso/Bank-kata

Kata

TDD

As you meant it

Bonne soirée

TDD First Day

By tarcaye

TDD First Day

  • 52