Skip to content

gerarddevisser/testing-suite

 
 

Repository files navigation

Scrutinizer Code Quality

Youwe Testing Suite

Introduction

Youwe Testing Suite is an all-in-one solution for doing static code analysis on composer packages/projects. It does so both locally and in CI/CD. For this, Testing-suite leverages GrumPHP with predefined default configurations per project type.

Features

Supported project types

  • Default (default)
  • Laravel (laravel)
  • Magento 1 (magento1)
  • Magento 2 (magento2)
  • Pimcore (pimcore)

Included analysis tools

Installation

Testing suite is supposed to be installed as a composer dev dependency. Within any project just run the command below to install the package:

composer require youwe/testing-suite --dev

If a project-type is detected, standards will be applied (otherwise a wizard will be opened)

Usage

Locally

The testing suite can be run manually through the GrumPHP command.

vendor/bin/grumphp run

or for DDev projects

ddev exec vendor/bin/grumphp run

Git commit hook

The testing suite is automatically run at each git commit using a git commit hook.

This git commit hook will automatically detect DDev projects and will run GrumPHP within the DDev container if needed. This behaviour can be disabled:

  • on individual basis via an environment variable:
YOUWE_BYPASS_DDEV=1 git commit
  • on project basis via the grumphp.yml configuration file:
imports:
  - resource: 'vendor/youwe/testing-suite/config/your-project-type/grumphp.yml'

grumphp:
  git_hook_variables:
    # Disable DDev detection by restoring to default `exec`
    # See https://github.com/phpro/grumphp/blob/v2.x/doc/parameters.md for more options
    EXEC_GRUMPHP_COMMAND: exec

After changing your grumphp.yml, run vendor/bin/grumphp git:init to update the git commit hook.

CI/CD Integration examples

Changelog

See the Changelog file for all changes.

About

Collection of PHP code testing packages.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 98.1%
  • Shell 1.9%