@berthel350
@berthel350
Faire du TDD, c'est impossible côté front
Florent Berthelot de 2017
@berthel350
Test Driven Development
@berthel350
Coder le test
S'assurer qu'il échoue
Faire passer le test au vert
Refactor
Le test est toujours vert
@berthel350
@berthel350
Test Unitaire
Test d'intégration
Test
De
Bout en Bout
@berthel350
Tu testes une fonction unitairement
@berthel350
Tu ne fais pas de mock sur les appels réseau
@berthel350
Tu testes tout, même avec le navigateur
@berthel350
@berthel350
Ce sont les tests E2E écrits directement par le PO en gherkin
@berthel350
Test Unitaire
Test d'intégration
Test
De
Bout en Bout
Test d'acceptance
@berthel350
Test Unitaire
Test d'intégration
Test
De
Bout en Bout
@berthel350
@berthel350
... celui de 2017, hein ;)
Test qui reste en mémoire
Test qui se permet de sortir de la RAM
Le réseau, on peut !
Test où il est interdit de bouchonner
Comme pour faire un bon vin !
Test écrit en coordination avec le PO
Enfin, si le PO le fait tout seul, c'est quand même cool !
Test Unitaire
Test d'intégration
Test
De
Bout en Bout
Test d'acceptance
Temps d'éxécution
0
+∞
$
$$$
Coder le test
S'assurer qu'il échoue
Faire passer le test au vert
Refactor
Le test est toujours vert
Coder le test d'acceptance
@berthel350
@berthel350
... mais pas avec protractor
Utilisez Cypress, voir WebdriverIO !
@berthel350
Peut-être l'année prochaine :)
@berthel350
Simple à mettre en place !
Quel framework ?
@berthel350
Karma
Jasmine
Console
Mais y'a du réseau ?
Et on test le navigateur aussi !
@berthel350
Jest
JS DOM
Console
@berthel350
@berthel350
@berthel350
Élément HTML
Propriétés
Vue
État interne
import { Component, Input } from '@angular/core';
@Component({
selector: 'awesome-button',
template: `
<button [ngClass]="{isLiked}" (click)="like()" >
<i class="heart">
{{nbLike}}
</button>
`,
styles: [`
.isLiked { color: red; }
`]
})
export class AwesomeLikeButton {
@Input() nbLike: number;
isLiked: boolean;
like() {
this.isLiked = !this.isLiked;
}
}
@berthel350
Élément HTML
Propriétés
Vue
État interne
Données en entrée
Résultat
Paramètres d'une fonction
Retour
@berthel350
@berthel350
Et merci aux zenikéens qui m'ont fait grandir !
@berthel350