GithubHelp home page GithubHelp logo

behat-zendframework-extension's Introduction

Behat Zend framework integration

Integration Behat ^3.1 with Zend\Mvc\ApplicationInterface. This should allow integrate with Zend framework v2.* and v3.*.

Installing extension

The easiest way to install is by using Composer:

$> curl -sS https://getcomposer.org/installer | php
$> php composer.phar require alteris/behat-zendframework-extension='~1.0'

or composer.json

"require": {
    "alteris/behat-zendframework-extension": "~1.0"
},

Configuration

You can then activate the extension in your behat.yml:

    default:
        # ...
        extensions:
            Alteris\BehatZendframeworkExtension\ServiceContainer\Extension:
                configuration: PATH_TO_application.config.php

Injecting Application

Your context need to implement Alteris\BehatZendframeworkExtension\Context\ContextAwareInterface and will be intialized with Zend\Mcv\ApplicationInterface;

Injecting Services

The extension will automatically convert parameters injected into a context. You need to have set alias/name starting with '@':

default:
    suites:
        default:
            contexts:
                - FeatureContext:
                    testService: '@testService'
        extensions:
            Alteris\BehatZendframeworkExtension\ServiceContainer\Extension:
                configuration: PATH_TO_application.config.php

The FeatureContext will then be initialized with the service from the Zend Framework container:

<?php

namespace FeatureContext;

use Behat\Behat\Context\Context;
use ModuleTest\Service\TestService;

class FeatureContext implements Context
{
    public function __construct(TestService $testService)
    {
        //Service from Zend\Mvc\Application
    }
}

Extra

Examples

Versioning

Staring version 1.0.0, will follow Semantic Versioning v2.0.0.

Contributors

behat-zendframework-extension's People

Contributors

jdusza avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

behat-zendframework-extension's Issues

Getting a ServiceNotCreatedException

Hey! This extension looks pretty fine, I'm eager to try it out.

I'm configuring it to work with ZF2, by following your examples, but I'm getting exceptions like this:

[Zend\ServiceManager\Exception\ServiceNotCreatedException]
  An exception was raised while creating "Router"; no instance returned

My behat.yml looks like this:

default:
  autoload:
    '': %paths.base%/features/bootstrap/
  suites:
    default:
      path: %paths.base%/features
  extensions:
    Alteris\BehatZendframeworkExtension\ServiceContainer\Extension:
       configuration: config/application.config.php
    Behat\MinkExtension:
      sessions:
        default:
          zombie: ~

My FeatureContext looks like this:

<?php

use Behat\Behat\Tester\Exception\PendingException;
use Behat\MinkExtension\Context\MinkContext;

use Alteris\BehatZendFrameworkExtension\Context\ContextAwareInterface;

use Zend\Mvc\ApplicationInterface;

class FeatureContext extends MinkContext implements ContextAwareInterface
{
    protected $app;

    public function setApplication(ApplicationInterface $app)
    {
        $this->app = $app;
    }
}

Other than that, I have a web server running on localhost:8085 (mink URL is configured on my env variables).

Thanks in advance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.