proget-hq/phpstan-phpspec

PhpSpec extension for PHPStan

0.3.0 2021-01-03 17:05 UTC

This package is auto-updated.

Last update: 2024-04-14 12:32:37 UTC


README

Minimum PHP Version Latest Stable Version Build Status Total Downloads License

What does it do?

  • Currently compatible with original specs from PhpSpec itself
  • Check if custom matcher exist in given spec class
    • support fot getMatchers method
  • Provides correct return type for Collaborator in spec methods
    • will* methods
    • support for array return type (check if array item has correct type)
  • Allow to user Propehcy as Collaborator arguments
    • Argument::cetera(), Argument::any()
  • Provides correct attributes for Collaborator
  • Provides correct methods for ObjectBehavior:
    • should* methods
    • during* methods
    • beConstructedWith, beConstructedThrough, beAnInstanceOf
    • search original spec class (subject) and check if methods exists
  • Provides correct attributes for ObjectBehavior:
    • public attributes
    • static properties (with $this->CONSTANT_NAME)
  • Provides correct class for getWrappedObject method
  • Support ObjectState Matcher and check if appropriate methods exists

Compatibility

PHPStan version PhpSpec version PhpSpec extension version
^0.11.6 ^6.0 0.3.x
^0.11.6 ^5.1 0.2.x
^0.10.7 ^5.1 0.1.x

Installation

composer require --dev proget-hq/phpstan-phpspec

Configuration

Put this into your phpstan.neon config:

includes:
	- vendor/proget-hq/phpstan-phpspec/extension.neon
parameters:
    specDir: 'spec/'