jmathai/epiphany 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
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
GitHub - teamcapybara/capybara: Acceptance test framework for web applications jokkedk/webgrind _Rest_Server Calling a Zend_Rest_Server Service To call a Zend_Rest_Server service, you must supply a GET/POST method argument with a value that is the method you wish to call. You can then follow that up with any number of arguments using either the name of the argument (i.e. "who") or using arg following by the numeric position of the argument (i.e. Note: Numeric index Numeric arguments use a 1-based index. To call sayHello from the example above, you can use either: ? or: ? Returning Custom XML Responses If you wish to return custom XML, simply return a DOMDocument, DOMElement or SimpleXMLElement object. Example #4 Return Custom XML /** * Say Hello * * @param string $who * @param string $when * @return SimpleXMLElement */function sayHello($who, $when){ $xml ='<? The response from the service will be returned without modification to the client.
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
CruiseControl Home