PHPackages                             2bepublished/behat-responsive-features-extension - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. 2bepublished/behat-responsive-features-extension

ActiveLibrary[Testing &amp; Quality](/categories/testing)

2bepublished/behat-responsive-features-extension
================================================

A behat extension that enables features to be enabled/disabled for different screen sizes.

528PHP

Since Mar 11Pushed 11y ago2 watchersCompare

[ Source](https://github.com/2bepublished/BehatResponsiveFeaturesExtension)[ Packagist](https://packagist.org/packages/2bepublished/behat-responsive-features-extension)[ RSS](/packages/2bepublished-behat-responsive-features-extension/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

BehatResponsiveFeaturesExtension
================================

[](#behatresponsivefeaturesextension)

- Brought to you by \[2bePUBLISHED\]
- Developed by [Christoph Rosse](http://gries.tv)

[![Build Status](https://camo.githubusercontent.com/16f4cec6856bb54ceff4478f62f59153aab050d712845e87b1b8865e2a37ca8a/68747470733a2f2f7365637572652e7472617669732d63692e6f72672f3262657075626c69736865642f4265686174526573706f6e736976654665617475726573457874656e73696f6e2e706e67)](http://travis-ci.org/2bepublished/BehatResponsiveFeaturesExtension)

About
-----

[](#about)

A behat extension that enables features to be enabled/disabled for different screen sizes.

Installation
------------

[](#installation)

BehatResponsiveFeaturesExtension can be installed via composer

```
composer require "2bepublished/behat-responsive-features-extension"

```

Usage
-----

[](#usage)

Step 1: Activate the extension in your behat.yml

```
default:
  suites:
    ...
  extensions:
    Pub\BehatResponsiveFeaturesExtension\Extension: ~
```

Step 2: Define a suite that uses responsive features. In the step you'll also have to define the screen-width that this suite will use.

```
default:
  suites:
    ios_7_iphone5:
      paths:  [ %paths.base%/features/ ]
      contexts: [ Feature ]
      type: pub_responsive_suite    # required: this instructs Behat to use the responsive suite.
      screen-width: 320             # required: this sets the width for that suite
      mink_session: ios_7_iphone5   # optional: the mink session is optional if you don't use mink.
```

Step 3: Use the width tags inside your feature definitions:

- @min-width:xxx - takes min-width in pixels
- @all-widths - if want a feature to run on all responsive-suites use this tag.

```
@all-widths
Feature: A very important feature
  In order to see this very important feature
  As a User
  I don't need a big screen
```

```
@min-width:500
Feature: A very big feature
  In order to see this very big feature
  As a User
  I need a screen with at least 500px
```

For a bigger example configuration using browser-stack please have a look at the [example configuration.](examples/browser-stack.behat.yml)

Features
--------

[](#features)

- Tag Features with a minimal required width so they are not executed on test-suites with smaller screens.

Limitations
-----------

[](#limitations)

- Only width filtering is currently allowed
- Features that should execute on all configurations need the `@all-widths` tag

LICENSE
-------

[](#license)

See `LICENSE` file.

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/a80f9fc61cd3a7d7779e8f120b458ca4d18fdd885d719bb77d3379b96bf714d9?d=identicon)[florianeckerstorfer](/maintainers/florianeckerstorfer)

![](https://www.gravatar.com/avatar/db7c27a0fae43ee96bc83d30f0801bfcb2033cd403f013fa8a5795ba7c846672?d=identicon)[gries](/maintainers/gries)

---

Top Contributors

[![gries](https://avatars.githubusercontent.com/u/417823?v=4)](https://github.com/gries "gries (10 commits)")

### Embed Badge

![Health badge](/badges/2bepublished-behat-responsive-features-extension/health.svg)

```
[![Health](https://phpackages.com/badges/2bepublished-behat-responsive-features-extension/health.svg)](https://phpackages.com/packages/2bepublished-behat-responsive-features-extension)
```

###  Alternatives

[phpspec/prophecy

Highly opinionated mocking framework for PHP 5.3+

8.5k551.7M682](/packages/phpspec-prophecy)[vimeo/psalm

A static analysis tool for finding errors in PHP applications

5.8k77.5M6.7k](/packages/vimeo-psalm)[brianium/paratest

Parallel testing for PHP

2.5k118.8M754](/packages/brianium-paratest)[beberlei/assert

Thin assertion library for input validation in business models.

2.4k96.9M570](/packages/beberlei-assert)[mikey179/vfsstream

Virtual file system to mock the real file system in unit tests.

1.4k108.0M2.7k](/packages/mikey179-vfsstream)[orchestra/testbench

Laravel Testing Helper for Packages Development

2.2k39.1M32.1k](/packages/orchestra-testbench)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
