background preloader

Behat — BDD for PHP

Behat — BDD for PHP
Related:  Tools

Selenium - Web Browser Automation etorreborre/specs2 @ GitHub Specify your software using both text and Scala code class HelloWorldSpec extends Specification { def is = s2""" This is a specification for the 'Hello world' string The 'Hello world' string should contain 11 characters $e1 start with 'Hello' $e2 end with 'world' $e3 """ def e1 = "Hello world" must haveSize(11) def e2 = "Hello world" must startWith("Hello") def e3 = "Hello world" must endWith("world") } Use different styles of specifications /** This is the "Unit" style for specifications */class HelloWorldSpec extends Specification { "This is a specification for the 'Hello world' string".txt "The 'Hello world' string should" >> { "contain 11 characters" >> { "Hello world" must haveSize(11) } "start with 'Hello'" >> { "Hello world" must startWith("Hello") } "end with 'world'" >> { "Hello world" must endWith("world") } }} Document your APIs with compiler-checked examples Manage contexts for integration testing

The top 9+7 things every programmer or architect should know I recently finished 97 Things every programmer should know. Well to be completely honest I did skim over a couple of the 97, but all and all this was a very nice compilation of thoughts and topics about software development from very experienced authors. Well worth a read. A couple of the “97 Things” discussed, stood out more than the others, the following would be the ones I rank as my top 9. 1. The Boy Scout Rule – Robert C. To be honest this is not something I have followed throughout my career, and although I certainly try improve code where I can, I never did it per check-in. I work in a corporate environment were applications often last for 4-10 years. 2. Over the years this has become particularly important to me. 3. 4. 5. 6. “If you are trying to be focused and “productive” for more than 30 hours a week, you are probably working too hard.” I couldn’t agree more with Olve Maudal. 7. 8. 9. Previously I commented on the 97 Things every programmer should know. 1. 2. 3. 4. 5. 6. 7.

GitHub - teamcapybara/capybara: Acceptance test framework for web applications Practical symfony | Jour 9 : Les tests fonctionnels Dans le chapitre précédent, nous avons vu comment faire des tests unitaires sur nos classes Jobeet en utilisant la bibliothèque intégrée lime avec symfony. Dans ce chapitre, nous allons écrire des tests fonctionnels pour les fonctionnalités que nous avons déjà mis en œuvre dans les modules job et category. Les tests fonctionnels Les tests fonctionnels sont un excellent outil pour tester votre application de bout en bout : de la requête faite par un navigateur jusqu'à la réponse envoyée par le serveur. Comme le processus est manuel, il est complexe et assujetti aux erreurs. note Les tests fonctionnels du framework ne remplace pas les outils tels que "Selenium". La classe sfBrowser Dans Symfony, les tests fonctionnels sont gérés via un navigateur spécial, implémenté par la classe sfBrowser. sfBrowser fournit des méthodes qui simule la navigation effectuée dans un navigateur classique : Voici quelques exemples d'utilisation des méthodes sfBrowser : La classe sfTestFunctional tip Données de test

Agile Software Development: 10 Key Principles of Agile Software Development Agile is one of the big buzzwords of the IT development industry. But exactly what agile development? Put simply, agile development is a different way of managing IT development teams and projects. The use of the word agile in this context derives from the agile manifesto . Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.” Ever since then, the use of methods that support these values has become increasingly popular. From my use of various agile methods, I have written about 10 key principles of agile. 1. 2. 3. 4. 5. 6. 7. each feature before moving on to the next 8. 9. 10. There are various methodologies that are collectively known as agile, as they promote the values of the agile manifesto and they are consistent with the above principles. Kelly. See also:

CruiseControl Home Ruby en vingt minutes Admettons, pour la bonne continuité de ce tutoriel, que nous voulons tout à coup répéter et répéter encore « Hello World » … mais sans trop nous fatiguer. Il va falloir définir une méthode. irb(main):010:0> def hirb(main):011:1> puts "Hello World!"irb(main):012:1> end=> nil Le mot-clé def a ici pour rôle de commencer la définition d’une méthode. Courte et morne vie d’une méthode… Bien, essayons de faire fonctionner cette méthode deux ou trois fois, pour voir : irb(main):013:0> hHello World! Rien de très compliqué. Que faire si nous souhaitons dire bonjour à une personne en particulier, et pas au monde entier ? irb(main):015:0> def h(name)irb(main):016:1> puts "Hello #{name}!" Ça fonctionne… mais pourquoi ? Les chaînes des caractères Le truc le plus étrange dans ce nouvel exemple est sûrement ce #{name}. irb(main):019:0> def h(name = "World")irb(main):020:1> puts "Hello #{name.capitalize}!" D’autres petits ajouts ont eu lieu dans ce dernier bout de code. Un brin de politesse

Related: