GithubHelp home page GithubHelp logo

cpies / phpunit-watcher Goto Github PK

View Code? Open in Web Editor NEW

This project forked from spatie/phpunit-watcher

0.0 0.0 0.0 632 KB

A tool to automatically rerun PHPUnit tests when source code changes

Home Page: https://spatie.be/opensource/php

License: MIT License

PHP 100.00%

phpunit-watcher's Introduction

Automatically rerun PHPUnit tests when source code changes

Usage

All the examples assume you've installed the package globally. If you opted for the local installation prepend vendor/bin/ everywhere where phpunit-watcher is mentioned.

You can start the watcher with:

phpunit-watcher watch

This will run the tests and rerun them whenever a file in the src or tests directory is modified.

Want to pass some arguments to PHPUnit? No problem, just tack them on:

phpunit-watcher watch --filter=it_can_run_a_single_test

Customization

Certain aspects of the behaviour of the tool can be modified. All options can be set in a .phpunit-watcher.yml in your project directory.

If a such a config file does not exist in the project directory, the tool will check if the file exists in any of the parent directories of the project directory.

Here's some example content. Read on for a more detailed explanation of all the options.

watch:
  directories:
    - src
    - tests
  fileMask: '*.php'
notifications:
  passingTests: false
  failingTests: false
phpunit:
  arguments: '--stop-on-failure'

Customize watched directories and files

You can customize the directories being watched by creating a file named .phpunit-watcher.yml in your project directory. Here's some example content:

watch:
  directories:
    - src
    - tests
  fileMask: '*.php'

Desktop notifications

By default the tool will display desktop notifications whenever the tests pass or fail. If you want to disable certain desktop notifications update .phpunit-watcher.yml by adding a notifications key.

notifications:
  passingTests: false
  failingTests: false

Initial PHPUnit arguments

If you want to use pass the same arguments to PHPUnit everytime to watcher starts, you can specificy those in the .phpunit-watcher.yml config file. Here's an example:

phpunit:
  arguments: '--stop-on-failure'

When starting the tool with some arguments (eg phpunit-watcher watch --filter=my_favourite_test) those arguments will get used instead of the ones specified in the config file.

Changelog

Please see CHANGELOG for more information what has changed recently.

Testing

composer test

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Postcardware

You're free to use this package (it's MIT-licensed), but if you use it often we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using.

Our address is: Spatie, Samberstraat 69D, 2060 Antwerp, Belgium.

We publish all received postcards on our company website.

Credits

We started creating this package after reading this excellent article by Christoper Pitt

Interactive commands were inspired by Jest

phpunit-watcher's People

Contributors

akoepcke avatar bencarrr avatar brendt avatar cameroncox avatar casperboone avatar cpies avatar freekmurze avatar mikeerickson avatar ntwb avatar raphaelstolt avatar svenluijten avatar vyuldashev avatar

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.