- Extends
AspectMock\Proxy\Verifier
ClassProxy represents a class of your project.
- It can be used to verify methods invocations of a class.
- It provides some nice functions to construct class instances, with or without a constructor.
- It can be used to check class definitions.
<?php
$userModel = test::double('UserModel');
UserModel::tableName();
$user = $userModel->construct();
$user->save();
$userModel->verifyInvoked('tableName');
$userModel->verifyInvoked('save');
You can get a class name of a proxy via className
property.
<?php
$userModel = test::double('UserModel');
$userModel->className; // UserModel
Also, you can get the list of calls for a specific method.
<?php
$user = test::double('UserModel');
$user->someMethod('arg1', 'arg2');
$user->getCallsForMethod('someMethod') // [ ['arg1', 'arg2'] ]
Returns true if class exists.
Returns false if class is not defined yet, and was declared via test::spec
.
Returns an array with all interface names of a class
Returns a name of the parent of a class.
- return null
param mixed
$method
param mixed
$property
Returns array of all trait names of a class.
Creates an instance of a class via constructor.
<?
$user = test::double('User')->construct([
'name' => 'davert',
'email' => '[email protected]'
]);
Creates a class instance without calling a constructor.
<?
$user = test::double('User')->make();
Verifies a method was invoked at least once. In second argument you can specify with which params method expected to be invoked;
<?php
$user->verifyInvoked('save');
$user->verifyInvoked('setName',['davert']);
Verifies that method was invoked only once.
Verifies that method was called exactly $times times.
<?php
$user->verifyInvokedMultipleTimes('save',2);
$user->verifyInvokedMultipleTimes('dispatchEvent',3,['before_validate']);
$user->verifyInvokedMultipleTimes('dispatchEvent',4,['after_save']);
- throws ExpectationFailedException
Verifies that method was not called. In second argument with which arguments is not expected to be called.
<?php
$user->setName('davert');
$user->verifyNeverInvoked('setName'); // fail
$user->verifyNeverInvoked('setName',['davert']); // fail
$user->verifyNeverInvoked('setName',['bob']); // success
$user->verifyNeverInvoked('setName',[]); // success
- throws ExpectationFailedException