background preloader

Integration continue

Facebook Twitter

Tests fonctionnels avec Behat et Selenium sous Docker. Pour les impatients ou les connaisseurs, si vous savez déjà tout (du moins pour notre sujet du jour), vous pouvez d’ores et déjà passer à la partie qui va vous intéresser : la configuration.

Tests fonctionnels avec Behat et Selenium sous Docker

D’une part, c’est un fait, le développement de tests est tout aussi important que le développement de la fonctionnalité elle même. Dans le monde du web et plus particulièrement le monde du PHP, Behat fait parti des incontournables, au même titre que PHPUnit, Atoum ..D’autre part, les sites webs offrant de plus en plus de fonctionnalités et notamment grâce au javascript, il est normal que les tests doivent suivre… Il est difficile d’imaginer une suite de tests efficace qui zapperait toute la partie interaction “directe” (comprenez sans rechargement de page) ! Behat utilise des “drivers” pour pouvoir se connecter à des émulateurs de browsers, headless ou non, avec chacun leurs avantages et inconvénients. Symfony2: Testing with Behat and Mink. I have been looking at functional testing using Behat and Mink and their associated Symfony2 bundles.

Symfony2: Testing with Behat and Mink

Having used Selenium for this sort of testing in the past and found the writing of the tests to be a long and torturous process, Behat is a huge improvement. There are quite articles about on getting started with Behat for web application testing as well as its own great documentation. For example, and I am not going to go over installation and the basics in this post but just look a couple of specific things I have found useful myself. Mink's Built In Steps One of the most useful features for me has been the built in steps provided when using Mink with Behat. When I follow "Edit your contact details" These already have the behind the scenes action written so you do not need to write them yourself. Behat integration. Petite introduction à Behat - jour 1 - installation - Seemios Blog. Behat est un framework PHP permettant d’effectuer automatiquement vos tests d’acceptation lors du développement d’une application.

Petite introduction à Behat - jour 1 - installation - Seemios Blog

On parle dans le jargon de BDD (Behavior Driven Development) ou Développement Piloté par les Comportements. Le BDD est une méthode agile (vous trouverez un résumé sur Wikipédia) qui conciste à écrire des cas d’usage permettant de tester les fonctionnalités souhaitées dans application. Behat permet d’écrire vos tests acceptation (cas d’utilisation) en langage naturel et de lancer l’ensemble de vos tests automatiquement afin de vous assurer que l’application est conforme à la demande de votre client et qu’il n’y a pas eu de régression suite à l’ajout ou la modification d’une fonctionnalité. C’est simple à prendre en main, simple à mettre en place et ce, même sur des applications déjà existantes. Petit tour rapide de Behat, de l’installation à vos premiers tests. Petite introduction à Behat - jour 2 - Premiers tests - Seemios Blog. Procédure d’installation et configuration de Behat en français pour Symfony 2. Cet article a pour but de clarifier l’installation de behat.

Procédure d’installation et configuration de Behat en français pour Symfony 2

Il est fait par et pour les développeurs débutants avec Behat et le« Behavior-driven Development » (BDD que l’on peut traduire par « développement conduit par les comportements »), les curieux et les enthousiastes. Symfony 2.2 et Behat 2.4 ont été utilisés; Aucun bundle n’a été blessé lors de la rédaction de cet article. Practical Php Testing is here. Test Driven Development (TDD) Dans ce tutoriel, je vous propose de comprendre le fonctionnement du TDD, appelé aussi développement piloté par les tests.

Test Driven Development (TDD)

J’ai essayé de le rendre le plus accessible possible. J’utilise une approche didactique, avec pas mal d’explications. Cette démarche est complétée par un deuxième tutoriel plus pratique, où je vous propose de venir essayer ce que je vous ai appris. Bonne lecture! Qu’est-ce que le TDD ? C’est une pratique de développement beaucoup utilisé dans la réalisation de logiciels en informatique. Un modèle de conception (appelé aussi design pattern) décrit un problème qui apparait encore et encore dans votre environnement de travail. C’est très facile à dire et moins facile à faire. La simplicité grace à TDD. Le développement piloté par les tests est un merveilleux moyen pour s’assurer que le code que nous réalisons fait exactement ce que l’on veut qu’il fasse.

La simplicité grace à TDD

TDD permet d’aller plus loin; Il oblige le développeur à faire les choses simplement… Récemment j’ai lu un magnifique billet de Ronald E. Jeffries intitulé « But We Need a Database … Don’t We? Tutoriel Vidéo PHP BDD avec Behat. Le Behavior Driven Develoment (ou BDD pour les intimes) est une méthode qui permet une meilleur collaboration entre les développeurs et les responsables projets.

Tutoriel Vidéo PHP BDD avec Behat

Le BDD utilise un langage naturel (comprehensible par tout le monde, pas seulement par les dev) qui permet à tous les intervenants de communiquer simplement sur les fonctionnalitées de l'application. Behat est un framework PHP pour faire du BDD en PHP. Inspiré par Cucumber, Behat utilise la syntax Gherkin qui permet de décrire les scénario. Par exemple imaginons que nous déveleppons un nouveau moteur de recherche : Feature: Mon Super moteur de Recherche Scenario: Homepage Given I am on the homepage Then I should see "Recherche" Scenario: Search Given I am on the homepage When I fill in "q" with "Grafikart" And I wait for 1 seconds Then I should see "Grafikart.fr" Comprendre les tests unitaires et fonctionnels AppVentus — AppVentus. Bonjour, Aujourd’hui, nous allons partager avec vous ce qui est pour nous un travail de fond depuis quelques mois déjà : le développement avec tests de facon systématique.

Comprendre les tests unitaires et fonctionnels AppVentus — AppVentus

Nous nous sommes beaucoup documenté sur les bonnes pratiques de test, les avantages de chaque types de test et ce sujet recense nos reflexions à ce sujet.