News Feed
Jobs Feed
Sections



Recent Jobs

News Archive
feed this:

Chris Hartjes' Blog:
Simple API Testing Using Behat
February 27, 2012 @ 10:09:18

Chris Hartjes has taken some of his first steps to testing a web service with the help of the Behat BDD testing framework. In this new post he shares some of that knowledge and a bit of code to help guide you if you'd like to get started yourself.

I have been trying to push my JavaScript skills lately by first playing around with Node.js to get a feel for event-driven server-side coding and by trying to build something semi-useful using Knockout. [...] After working with PHPUnit's "assert that the result matches expectations" philosophy, switching to using a behavioural approach has changed how I decide to approach actually testing something.

He shows how to define a "scenario" in a more recognizable sort of English. His example is testing a web service to ensure of a few things:

  • the response is JSON
  • it contains at least one transaction
  • the first transaction has an ID, contains two teams and has a description

Included in the post is the resulting Behat test code (generated and modified with his testing details) and an example of the execution of the test.

I think that the BDD approach maps better to a results-oriented methodology when it comes to testing: you are using real-life scenarios to make sure that you are getting back the results you are expecting. In the end. that is still the goal of testing.
0 comments voice your opinion now!
simple api test behaviordriven behat example slim framework



Codeception Blog:
Introduction to Codeception
January 25, 2012 @ 10:19:59

On the Codeception blog there's an introduction to the Codeception tool, a behavior-driven framework written in PHP (in the spirit of Behat).

How often do you see PHP projects with no line of test written? From my experience, this situation happens quite often. We should state the unpleasant fact that tests are not so popular around the PHP world. Surely, the advanced developers with 5+ years of experience in PHP and other programming languages understand importance of testing and PHPUnit usage. But juniors and seniors are just skipping testing and, therefore, produce unstable web applications.

A code example of the framework in use is included in the post - a test on a class using methods like "wantTo", "amOnPage", "fillField" and "click". The installation is pretty simple and it gives you a quick way to start working on acceptance, functional and unit tests. In BDD fashion, the tests are written in a more "natural language" than traditional unit tests making them easier for the non-developers (like QA) to write. Their example loads a page, fills in some form fields and submits the form to check the result.

0 comments voice your opinion now!
behaviordriven development codeception testing tutorial functional


Alessandro Nadalin's Blog:
Behaviour what?
August 30, 2011 @ 09:22:15

In a recent post to his blog Alessandro Nadalin looks at a different approach to development than the usual code-first, ask questions later style, behavior-driven development, and a tool that can help you follow this method - Behat.

Although this requirement is not mandatory, BDD's power is leveraged by using stories. It basically assumes that instead of focusing on tests, we should start our development process writing down a story that a parser can translate into a test (a customer cares about features, not tests) a programmer can implement in order to verify that our software respects that story.

He talks about installing Behat via PEAR, how it can integrate with Symfony (1.4) and an example of a sample story/test file that checks a few things against a basic page. He also points out an interesting and quite useful feature of Behat - outputting the tests in a HTML-formatted result that makes for easy reading by non-developers.

0 comments voice your opinion now!
behat behaviordriven development symfony integration testing


Ibuildings techPortal:
Beyond TDD with PHPSpec
August 03, 2011 @ 09:41:20

On the Ibuildings techPortal today there's a new post from Marcello Duarte following up on his previous post looking at behavior driven development (here) with a look at PHPSpec, a port of RSpec that is the first PHP BDD framework.

PHPSpec is the first ever PHP BDD framework. It is a port of RSpec to PHP created back in 2007 by Padraic Brady and Travis Swicegood. Development in this framework stopped for a while and was reignited last August (2010).

He goes over how to get it installed via PEAR and how to write some sample tests following along the topic from his previous post (handing videos and reviews). He gets into a bit more detail by describing how MVC is handled with PHPSpec and how the Zend Framework command line tool can be used to create a controller that satisfies the test.

0 comments voice your opinion now!
behaviordriven development phpspec testdriven framework


Ibuildings techPortal:
Behavior Driven Development in PHP With Behat
July 27, 2011 @ 10:48:20

On the Ibuildings techPortal today there's a new post from Marcello Duarte looking at a different sort of software development methodology - behavior driven development - and using Behat in a sample project.

Because of the emphasis on test, developers tend to focus on class structure as opposed to how the system should behave. Ironically the focus on test moves developers away from TDD as it was intended. Quite often, because of the tendency to try to test everything, our tests end up tightly coupled with our implementation. If we change our code, we break our tests, even if the behaviour remains unchanged.

He talks about the option to use the agiledox method in PHPUnit tests and how it can help with test output readability. He takes it a step further with a look at Gherkin, the language for the Cucumber testing tool in Ruby. The next obvious step in the process comes with Behat, a sort of PHP version of the Cucumber testing tool. He includes a sample project and shows how to update it with sample steps and create a few basic tests to check video rental information.

0 comments voice your opinion now!
behaviordriven development behat testing tutorial


Project:
ArrBDD - a Behavior-Driven Development Library for PHP 5
July 18, 2011 @ 11:14:29

Leng Sheng Hong has submitted about a project posted recently he's developed to make behavior-driven development in PHP easier - ArBDD.

ArBDD is a simple yet powerful BDD library for PHP to get you started with BDD in PHP. Excellent for those who have no previous experience with BDD.

The project's page includes some basic code definitions of behaviors the code should follow, the creation of a simple mock object and the JSON-based results that come out when the tool is executed. They've also created an AIR-based viewing tool to see the results outside the browser. The code requires PHP 5.3+ because of its use of closures.

For another example of BDD testing in action, look at the Behat framework, based on the Ruby Cucumber syntax.

0 comments voice your opinion now!
behaviordriven development library arrbdd project behat


DZone.com:
PHPSpec BDD for your classes
June 03, 2011 @ 08:57:12

In a new post to the "PHP on Windows" section of DZone.com, Giorgio Sironi looks at another testing tool to add to your arsenal - PHPSpec, a behavior-driven development testing tool similar to Ruby's RSpec.

Behavior-Driven Development can be seen as an evolution of Test-Driven Development, stricly in its outside-in version and with a refined language. In the case of the tool I'm reviewing today, BDD is implemented with code instead of with textual feature files (e.g. written in Gherkin) like in Behat. PHPSpec is similar to (or a port of) RSpec, the original BDD Ruby tool. It fills the need for an approach different from the classical xUnit at the class level.

He points out the place he thinks PHPSpec has in the software testing world as it fits with things like Behat and PHPUnit. He also includes some sample code to show it at work - a sample test that checks against an object for things like "should be an object" or "should not return the same number for multiples of three" for the basic class FizzBuzz.

0 comments voice your opinion now!
phpspec behaviordriven development testing unittest class


Devis Lucato's Blog:
PHP BDD with Cucumber/Cuke4Php
April 06, 2011 @ 12:52:03

Devis Lucato has put together a new post to his blog showing how to use the Cuke4PHP tool to use Cucumber-style BDD (behavior-driven development) testing in your development.

Cucumber is a Behavioural Driven Development framework written in Ruby. Using a wire it allows to write BDD steps in PHP to test PHP applications. Cuke4php is in fact a wire protocol implementation of Cucumber written in PHP.

You'll still need to have Cucumber (Ruby) installed on your testing system, but pulling in the Cuke4PHP tool is as easy as pointing your "pear" command-line tool at their PEAR server and installing. With a little bit of configuration (and possibly an install of PHPUnit) you'll be up and running. You can then write Cucumber tests that can run against your PHP code. They've included a sample PHP class and a Cucumber test to match it.

0 comments voice your opinion now!
behaviordriven development cucumber testing cuke4php


Greepit.com:
Behavior Driven Development Framework for PHP Behat
February 03, 2011 @ 10:56:27

On Greepit.com there's a quick post pointing out a behavior-driven development framework for PHP that turns the usual sort of testing (unit testing) around and looks from the other side - Behat.

Unlike any other PHP testing framework that tests applications inside out. Behat is testing applications outside in. It means, that Behat works only with your application's input/output. There are Symfony plugin and Symfony2 bundle for Behat, so you can start testing your applications right now.

Behat is an open source behavior-driven development framework that's PHP 5.3 only inspired by Ruby's Cucumber project. You can install it in one of two ways - either from their custom PEAR channel (pear.everzet.com) or by cloning their github repository. The Behat site has some example tests to get you started.

0 comments voice your opinion now!
behat behaviordriven development cucumber testing



Community Events





Don't see your event here?
Let us know!


testing development conference podcast framework phpunit voicesoftheelephpant application unittest interview opinion symfony2 release injection zendframework2 zendframework introduction community language database

All content copyright, 2012 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework