Tests vs tdd

Bonjour,

Aujourd’hui j’aimerais m’entretenir sur l’importance des tests unitaires, d’intégration, de charge et autres.

Il est très important d’effectuer des tests.

Faire du TDD ou écrire les tests après coup importe peu. Je pense que faire des tests sur les getters et setters devient un fardeau plus qu’une aide.

Certains setters ne sont pas triviaux, comme une conversion ou un casting. Dans ce cas, on peut avoir besoin d’en faire le test.

Ce qu’il ne faut pas faire, c’est réparer du code sans en écrire un test.

Une bonne pratique, plus que l’écriture des tests avant le code, a mon avis, est d’écrire un test avant la correction de bug.

C’est là que réside la puissance de l’automatisme. On remarque le comportement erroné du code. On écrit le test qui devrait passer au vert après correctif. Enfin, on écrit le patch qui fera passer le test.

Ainsi, on fait le plus important, des tests de non régression.

Timeout lors de la publication

Bonjour,

J’ai un petit souci depuis toujours sur wordpress chez free.

Lorsque je publie, il arrive très souvent (environ une fois sur deux) que la page bloque.

Ce n’est pas plus grave que ça car l’article est quand même publié. Le blocage arrive donc lors de la redirection vers la page de confirmation.

Le message d’erreur est le suivant : Network Error (tcp_error)

 

Je n’ai pas cherché de solution car ce n’est pas trop grave.

Je serais quand même intéressé par toute suggestion.

Scheduled post trigger, le verdict

Bonjour,

Il y a quelques temps, j’ai installé scheduled post trigger pour palier à un bug de wordpress.

Aujourd’hui, je vais donner mon verdict sur l’utilisation de cette extension.

Je vais directement parler du résultat : le travail est fait, mais je ne sais pas quand.

En effet, des fois, je regarde le blog bien après l’heure prévue et l’article n’est pas publié. Puis en revenant dessus, c’est en place. Mais vu que je me connecte sur le back-end en parallèle, je ne sais pas ce qui lance le test des articles en retard sur leur publication.

Je pourrais faire des tests plus poussés pour savoir comment ça marche. Peut-être faire mieux : regarder le code source pour être sûr de ce qui est fait. Ce n’est pas ma priorité pour le moment, je vais donc mettre un point final à cette histoire d’articles en retard.

Comme d’habitude, j’ai une petite victoire ici et je vais m’en tenir à ceci.

forcer un code retour http 200 en php

Bonjour,

J’avais l’habitude de donner des codes de retour http en php pour signaler des erreurs, c’est devenu de plus en plus vrai quand la réécriture d’url est devenue la norme.

Voici les codes de retour que j’utilise le plus :

  • 404 pour un lien invalide
  • 403 pour les gens inconnus dans une zone protégée
  • 401 pour les gens connus dans une zone dont ils n’ont pas accès
  • 501 pour un lien valide non configuré dans la base de données
  • 503 pour une erreur de service (par exemple mod_rewrite pas fonctionnel)

Il y en a d’autres qui sont implicitements envoyés par apache ou php.

En allant chez free.fr, htaccess n’accepte quasi rien.
La réécriture n’est pas possible directement et on a recours à la redirection de l’erreur 404 d’apache pour aller sur notre point d’entrée.

Jusqu’ici tout va bien, mais quand j’ai servi ma page, je ne veux pas qu’elle renvoie 404. Ce n’est pas un souci car j’ai l’habitude d’envoyer des codes de retour, donc si aucune erreur n’est détectée, je rajoute avant tout envoi le code suivant :

header("HTTP/1.1 200 Ok");

Sauf que le code retour 200 n’est pas honoré par php, j’ai donc cherché dans la doc de php pour trouver une alternative qui puisse donner un code 200 afin que les bots ne soient pas induits en erreur.

http_response_code(200);

Malheureusement tout aussi inefficace.

J’allais abandonner quand je suis tombé sur une réponse dans stackoverflow.

header("Status: 200");

J’ai vite testé et ça marche. J’ai aussi testé pour les autres codes et ça marche aussi.

Voilà donc ma nouvelle façon d’envoyer un code d’erreur (et de réussite) http via php.

wordpress correction des planifications manquées

Bonjour,

Encore un problème lié à wordpress, mais pas en rapport avec free.fr (du moins je pense). Les articles planifiés ne se publient pas automatiquement et un message planification manquée est affichée près du bouton publier.

J’installe le plugin WP Scheduled posts et je donne le verdict dans quelques jours. J’ai pas trop le temps de tester sur place, mais j’ai quelques articles planifiés.

Une solution plus casse tête mais moins polluante aurait été plus à mon goût mais celle-ci est plus simple à mettre en place et si elle marche, fera l’affaire.