15 KiB
15 KiB
Change Log
1.6.6 (2023-08-08)
- #1327: Changelog v1.6.6
- #1325: Keep the file that caused an error for inspection
- #1324: Fix Regression - Replace
+
Array Union Operator witharray_merge
1.6.5 (2023-08-05)
- #1322: Changelog v1.6.5
- #1321: Autoload Test Fixtures Based on PHP Runtime Version
- #1320: Clean up mocks on destruct
- #1318: Fix misspelling in docs
- #1316: Fix compatibility issues with PHP 7.3
- #1315: Fix PHP 7.3 issues
- #1314: Add Security Policy
- #1313: Type declaration for
iterable|object
. - #1312: Mock disjunctive normal form types
- #1299: Test PHP
8.3
language features
1.6.4 (2023-07-19)
1.6.3 (2023-07-18)
- #1304: Remove
extra.branch-alias
and update composer information - #1303: Update
.gitattributes
- #1302: Changelog v1.6.3
- #1301: Fix mocking classes with
new
initializers in method and attribute params on PHP 8.1 - #1298: Update default repository branch to latest release branch
- #1297: Update
Makefile
for contributors - #1294: Correct return types of Mock for phpstan
- #1290: Rename directory
library
tosrc
- #1288: Update codecov workflow
- #1287: Update psalm configuration and workflow
- #1286: Update phpunit workflow
- #1285: Enforce the minimum required PHP version
- #1283: Update license and copyright information
- #1282: Create
COPYRIGHT.md
file - #1279: Bump
vimeo/psalm
from5.9.0
to5.12.0
1.6.2 (2023-06-07)
- #1276: Add
IsEqual
Argument Matcher - #1275: Add
IsSame
Argument Matcher - #1274: Update composer branch alias
- #1271: Support PHP 8.2
true
Literal Type - #1270: Support PHP 8.0
false
Literal Type
1.6.1 (2023-06-05)
- #1267 Drops support for PHP <7.4
- #1192 Updated changelog for version 1.5.1 to include changes from #1180
- #1196 Update example in README.md
- #1199 Fix function parameter default enum value
- #1205 Deal with null type in PHP8.2
- #1208 Import MockeryTestCase fully qualified class name
- #1210 Add support for target class attributes
- #1212 docs: Add missing comma
- #1216 Fixes code generation for intersection types
- #1217 Add MockeryExceptionInterface
- #1218 tidy: avoids require
- #1222 Add .editorconfig
- #1225 Switch to PSR-4 autoload
- #1226 Refactoring risky tests
- #1230 Add vimeo/psalm and psalm/plugin-phpunit
- #1232 Split PHPUnit TestSuites for PHP 8.2
- #1233 Bump actions/checkout to v3
- #1234 Bump nick-invision/retry to v2
- #1235 Setup Codecov for code coverage
- #1236 Add Psalm CI Check
- #1237 Unignore composer.lock file
- #1239 Prevent CI run duplication
- #1241 Add PHPUnit workflow for PHP 8.3
- #1244 Improve ClassAttributesPass for Dynamic Properties
- #1245 Deprecate hamcrest/hamcrest-php package
- #1246 Add BUG_REPORT.yml Issue template
- #1250 Deprecate PHP <=8.0
- #1253 Prevent array to string conversion when serialising a Subset matcher
1.6.0 (2023-06-05) [DELETED]
This tag was deleted due to a mistake with the composer.json PHP version constraint, see #1266
1.3.6 (2022-09-07)
- PHP 8.2 | Fix "Use of "parent" in callables is deprecated" notice #1169
1.5.1 (2022-09-07)
- [PHP 8.2] Various tests: explicitly declare properties #1170
- [PHP 8.2] Fix "Use of "parent" in callables is deprecated" notice #1169
- [PHP 8.1] Support intersection types #1164
- Handle final
__toString
methods #1162 - Only count assertions on expectations which can fail a test #1180
1.5.0 (2022-01-20)
- Override default call count expectations via expects() #1146
- Mock methods with static return types #1157
- Mock methods with mixed return type #1156
- Mock classes with new in initializers on PHP 8.1 #1160
- Removes redundant PHPUnitConstraint #1158
1.4.4 (2021-09-13)
- Fixes auto-generated return values #1144
- Adds support for tentative types #1130
- Fixes for PHP 8.1 Support (#1130 and #1140)
- Add method that allows defining a set of arguments the mock should yield #1133
- Added option to configure default matchers for objects
\Mockery::getConfiguration()->setDefaultMatcher($class, $matcherClass)
#1120
1.3.5 (2021-09-13)
- Fix auto-generated return values with union types #1143
- Adds support for tentative types #1130
- Fixes for PHP 8.1 Support (#1130 and #1140)
- Add method that allows defining a set of arguments the mock should yield #1133
- Added option to configure default matchers for objects
\Mockery::getConfiguration()->setDefaultMatcher($class, $matcherClass)
#1120
1.4.3 (2021-02-24)
- Fixes calls to fetchMock before initialisation #1113
- Allow shouldIgnoreMissing() to behave in a recursive fashion #1097
- Custom object formatters #766 (Needs Docs)
- Fix crash on a union type including null #1106
1.3.4 (2021-02-24)
- Fixes calls to fetchMock before initialisation #1113
- Fix crash on a union type including null #1106
1.4.2 (2020-08-11)
- Fix array to string conversion in ConstantsPass (#1086)
- Fixed nullable PHP 8.0 union types (#1088, #1089)
- Fixed support for PHP 8.0 parent type (#1088, #1089)
- Fixed PHP 8.0 mixed type support (#1088, #1089)
- Fixed PHP 8.0 union return types (#1088, #1089)
1.4.1 (2020-07-09)
- Allow quick definitions to use 'at least once' expectation
\Mockery::getConfiguration()->getQuickDefinitions()->shouldBeCalledAtLeastOnce(true)
(#1056) - Added provisional support for PHP 8.0 (#1068, #1072,#1079)
- Fix mocking methods with iterable return type without specifying a return value (#1075)
1.3.3 (2020-08-11)
- Fix array to string conversion in ConstantsPass (#1086)
- Fixed nullable PHP 8.0 union types (#1088)
- Fixed support for PHP 8.0 parent type (#1088)
- Fixed PHP 8.0 mixed type support (#1088)
- Fixed PHP 8.0 union return types (#1088)
1.3.2 (2020-07-09)
- Fix mocking with anonymous classes (#1039)
- Fix andAnyOthers() to properly match earlier expectations (#1051)
- Added provisional support for PHP 8.0 (#1068, #1072,#1079)
- Fix mocking methods with iterable return type without specifying a return value (#1075)
1.4.0 (2020-05-19)
- Fix mocking with anonymous classes (#1039)
- Fix andAnyOthers() to properly match earlier expectations (#1051)
- Drops support for PHP < 7.3 and PHPUnit < 8 (#1059)
1.3.1 (2019-12-26)
- Revert improved exception debugging due to BC breaks (#1032)
1.3.0 (2019-11-24)
- Added capture
Mockery::capture
convenience matcher (#1020) - Added
andReturnArg
to echo back an argument passed to a an expectation (#992) - Improved exception debugging (#1000)
- Fixed
andSet
to not reuse properties between mock objects (#1012)
1.2.4 (2019-09-30)
- Fix a bug introduced with previous release, for empty method definition lists (#1009)
1.2.3 (2019-08-07)
- Allow mocking classes that have allows and expects methods (#868)
- Allow passing thru __call method in all mock types (experimental) (#969)
- Add support for
!
to blacklist methods (#959) - Added
withSomeOfArgs
to partial match a list of args (#967) - Fix chained demeter calls with type hint (#956)
1.2.2 (2019-02-13)
- Fix a BC breaking change for PHP 5.6/PHPUnit 5.7.27 (#947)
1.2.1 (2019-02-07)
- Support for PHPUnit 8 (#942)
- Allow mocking static methods called on instance (#938)
1.2.0 (2018-10-02)
- Starts counting default expectations towards count (#910)
- Adds workaround for some HHVM return types (#909)
- Adds PhpStorm metadata support for autocomplete etc (#904)
- Further attempts to support multiple PHPUnit versions (#903)
- Allows setting constructor expectations on instance mocks (#900)
- Adds workaround for HHVM memoization decorator (#893)
- Adds experimental support for callable spys (#712)
1.1.0 (2018-05-08)
- Allows use of string method names in allows and expects (#794)
- Finalises allows and expects syntax in API (#799)
- Search for handlers in a case instensitive way (#801)
- Deprecate allowMockingMethodsUnnecessarily (#808)
- Fix risky tests (#769)
- Fix namespace in TestListener (#812)
- Fixed conflicting mock names (#813)
- Clean elses (#819)
- Updated protected method mocking exception message (#826)
- Map of constants to mock (#829)
- Simplify foreach with
in_array
function (#830) - Typehinted return value on Expectation#verify. (#832)
- Fix shouldNotHaveReceived with HigherOrderMessage (#842)
- Deprecates shouldDeferMissing (#839)
- Adds support for return type hints in Demeter chains (#848)
- Adds shouldNotReceive to composite expectation (#847)
- Fix internal error when using --static-backup (#845)
- Adds
andAnyOtherArgs
as an optional argument matcher (#860) - Fixes namespace qualifying with namespaced named mocks (#872)
- Added possibility to add Constructor-Expections on hard dependencies, read: Mockery::mock('overload:...') (#781)
1.0.0 (2017-09-06)
- Destructors (
__destruct
) are stubbed out where it makes sense - Allow passing a closure argument to
withArgs()
to validate multiple arguments at once. Mockery\Adapter\Phpunit\TestListener
has been rewritten because it incorrectly marked some tests as risky. It will no longer verify mock expectations but instead check that tests do that themselves. PHPUnit 6 is required if you want to use this fail safe.- Removes SPL Class Loader
- Removed object recorder feature
- Bumped minimum PHP version to 5.6
andThrow
will now throw anything\Throwable
- Adds
allows
andexpects
syntax - Adds optional global helpers for
mock
,namedMock
andspy
- Adds ability to create objects using traits
Mockery\Matcher\MustBe
was deprecated- Marked
Mockery\MockInterface
as internal - Subset matcher matches recursively
- BC BREAK - Spies return
null
by default from ignored (non-mocked) methods with nullable return type - Removed extracting getter methods of object instances
- BC BREAK - Remove implicit regex matching when trying to match string arguments, introduce
\Mockery::pattern()
when regex matching is needed - Fix Mockery not getting closed in cases of failing test cases
- Fix Mockery not setting properties on overloaded instance mocks
- BC BREAK - Fix Mockery not trying default expectations if there is any concrete expectation
- BC BREAK - Mockery's PHPUnit integration will mark a test as risky if it
thinks one it's exceptions has been swallowed in PHPUnit > 5.7.6. Use
$e->dismiss()
to dismiss.
0.9.4 (XXXX-XX-XX)
shouldIgnoreMissing
will respect globalallowMockingNonExistentMethods
config- Some support for variadic parameters
- Hamcrest is now a required dependency
- Instance mocks now respect
shouldIgnoreMissing
call on control instance - This will be the last version to support PHP 5.3
- Added
Mockery\Adapter\Phpunit\MockeryPHPUnitIntegration
trait - Added
makePartial
toMockery\MockInterface
as it was missing
0.9.3 (2014-12-22)
- Added a basic spy implementation
- Added
Mockery\Adapter\Phpunit\MockeryTestCase
for more reliable PHPUnit integration
0.9.2 (2014-09-03)
- Some workarounds for the serialisation problems created by changes to PHP in 5.5.13, 5.4.29, 5.6.
- Demeter chains attempt to reuse doubles as they see fit, so for foo->bar and foo->baz, we'll attempt to use the same foo
0.9.1 (2014-05-02)
- Allow specifying consecutive exceptions to be thrown with
andThrowExceptions
- Allow specifying methods which can be mocked when using
Mockery\Configuration::allowMockingNonExistentMethods(false)
withMockery\MockInterface::shouldAllowMockingMethod($methodName)
- Added andReturnSelf method:
$mock->shouldReceive("foo")->andReturnSelf()
shouldIgnoreMissing
now takes an optional value that will be return instead of null, e.g.$mock->shouldIgnoreMissing($mock)
0.9.0 (2014-02-05)
- Allow mocking classes with final __wakeup() method
- Quick definitions are now always
byDefault
- Allow mocking of protected methods with
shouldAllowMockingProtectedMethods
- Support official Hamcrest package
- Generator completely rewritten
- Easily create named mocks with namedMock