Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Tasteful

398 vues

Publié le

  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Tasteful

  1. 1. TastefulTestons notre application avant de la développer
  2. 2. Le TDDTest Driven Development(Développement Piloté par les Tests)ouTuatha De Danann
  3. 3. L’utilisation « prénatale »Principe Fondateur
  4. 4. Prenaquoi ?• Ecriture des tests en premier• Avantages• Testabilité• Qualité• Maintenabilité
  5. 5. Le cycle• Créer un test• Faire compiler le test• Echouer au test• Simuler/Implémenter/Trianguler le test• Passer le test• Remanier le code
  6. 6. Créer le test[TestMethod]public void TodoToTodoDTO(){var todo = new Todo { Name = ‘’A faire’’ };var todoDTO = TodoFactory.CreateDTO(todo);Assert.AreEqual(todo.Name, todoDTO.Name)}OK
  7. 7. Faire compiler le testpublic class Todo{public string Name { get; set; }}public class TodoDTO{public string Name { get; set; }}OKOK
  8. 8. Echouer au testpublic static class TodoFactory{public static TodoDTO CreateDTO(Todo todo){throw new NotImplementedException();}}OKOKOK
  9. 9. Implementer le test• Simulation : retour d’une constante par exemple• Implémentation : code réel• Triangulation : plusieurs exemples qu’on généraliseOKOKOK
  10. 10. Implementer le testpublic static class TodoFactory{public static TodoDTO CreateDTO(Todo todo){return new TodoDTO { Name = todo.Name };}}OKOKOKOK
  11. 11. Passer le test[TestMethod]public void TodoToTodoDTO(){var todo = new Todo { Name = ‘’A faire’’ };var todoDTO = TodoFactory.CreateDTO(todo);Assert.AreEqual(todo.Name, todoDTO.Name)}OKOKOKOKOK
  12. 12. Remanier le code• Dont Repeat Yourself• Définir des interfaces• Assurer la testabilitéOKOKOKOKOKOK
  13. 13. Compléments• Rester simple !• Une idée des timings ?• Créer/Implémenter/Passer le test : 5 min• Remanier le code : 10 min• Mock et stubs à la rescousse
  14. 14. 0 BugVotre Nouvelle Mission

×