• Développement
  • Université
  • 2h00

Arrêtez de miser sur vos Tests Unitaires !

  • Date mercredi
  • Horaire 14h00 à 16h00
  • Salle Amphi B

Description

Vous en avez assez de voir vos Tests Unitaires passer... alors que votre application plante en production ? Fatigué de devoir adapter des dizaines de mocks à chaque refactorisation ? Il est temps de passer aux Tests d'Intégration ! Dans ce codelab, nous explorerons comment tester efficacement une application Spring Boot en simulant les dépendances externes : * WireMock pour simuler vos appels API, * Testcontainers pour tester une vraie base de données dans un environnement isolé, * LocalStack pour reproduire vos intégrations AWS. Repartez avec une application plus robuste, des tests plus fiables… et moins de surprises en production !

Orateur·ices

Jean-Michel Leclercq

Passionné d'architecture et de testing.

Actions rapides


Les sessions futures sur le même thème

    • Développement
    • Conférence

    G1, ZGC, Shenandoah... Chez Java, ils sont gentils avec tous leurs GCs mais moi je choisis lequel ?

    On a l'impression qu'avec chaque version de Java il y a de plus en plus de Garbage Collectors (GCs) avec de plus en plus d'options. On entend des phrases cryptiques telles que "Oh trop bien ZGC est devenu générationnel alors que Shenandoah ne l'est pas" ou "T'as vu chez Netflix ils ont réduit leurs tail latencies avec ZGC". Du coup on se pose tout plein de questions: * qu'est-ce qu'ils racontent ? * ZGC c'est quoi ? * si ce ZGC est si magique, pourquoi il y a d'autres GCs dans Java, hein ? * pourquoi on ne parle toujours que des différents GCs de Java mais jamais pour Go ou JavaScript ? chez Java ils ne sont pas capables d'en choisir un ? * et en natif, on a besoin d'un GC ? Dev Java ou simples curieuses et curieux, tout le monde est bienvenu. On va repartir des bases, en commençant il y a 30 ans lors de la création de Java jusqu'à maintenant pour comprendre pourquoi on a toujours besoin d'un GC et pourquoi ce n'est pas un problème résolu (comme l'API Collection). On fera aussi un tour des GCs, de leurs évolutions, de pourquoi on en est arrivé là, de leurs forces et de leurs faiblesses. (spoiler alert: ZGC n'est pas le GC qui les remplacera tous) À l'issue de ce talk vous saurez quand utiliser quel GC afin de trouver le plus adapté à chaque projet, chaque application, chaque environnement.

    Jeudi 8h30 à 9h25 - Amphi D
    • Développement
    • Quicky

    Parce qu’un bon Commit vaut mille lignes de commentaires

    Dans le premier projet dans ma carrière professionnelle en tant que développeur, les membres de l’équipe ont souvent changé durant la durée de vie du projet d’une douzaine d'années. Étant arrivé vers la fin du projet, j’ai pu rapidement comprendre les choix techniques du projet, et apprécier la qualité de maintenabilité de la base de code. Très peu de dettes de connaissances étaient présentes car tous les changements étaient bien retranscrits en utilisant une pratique de commits atomiques au sein de l’outil de versionning Git. Dans mon projet actuel, les développeurs n’utilisent pas cette même pratique. Les difficultés sont donc multiples. Ma présentation a pour but de faire un retex sur les gains et la mise en place de cette pratique de commits atomiques Voici ce que vous apprendrez dans la conférence: Définir ce qu'est un commit atomique et les types de changements rencontrés Structuration du commit: Choisir une convention de nommage des commits. Utilisation de la nomenclature de commit conventionnels S'attacher au “pourquoi” plutôt qu'au “quoi” “comment” dans le message de commit Réécrire son historique Git avec le rebase interactif A la fin de cette conférence, les spectateurs pourront eux mêmes appliquer cette méthode et en tirer les bénéfices suivants Tracer et documenter des choix techniques sans utiliser des commentaires directement dans le code Réduire le temps passer à faire des relectures & le nombre de commentaires pour comprendre la visée de certains changements Identifier plus rapidement l’introduction de bugs au sein du code avec l’utilisation de la commande “git bisect”

    Jeudi 11h05 à 11h20 - Amphi E
    • Développement
    • Conférence

    Jointures et agrégats en SQL : pièges classiques et fonctionnalités méconnues

    Jointures et agrégats : deux piliers du SQL qui, malgré leur symétrie fonctionnelle (passer d’un enregistrement à plusieurs, ou inversement), cachent des mécanismes et des pièges radicalement différents. Les jointures vous jouent des tours ? Doublons inattendus dans vos résultats paginés, choix cornélien entre INNER ou LEFT JOIN… Et côté agrégats, les classiques SUM, MAX ou MIN ne suffisent plus ? Découvrez comment exploiter les window functions, les CUBE/ROLLUP/GROUPING SETS, et même les agrégats avancés de PostgreSQL (JSON, XML) pour transformer vos requêtes en outils ultra-puissants. Si vous utilisez SQL, cette conférence vous donnera les clés pour écrire du SQL expressif et "moderne". Prêt à passer à la vitesse supérieure ?

    Jeudi 11h30 à 12h25 - Amphi E