| CARVIEW |
Guides
- Introduction
- Getting Started
- Acceptance Tests
- Functional Tests
- Unit Tests
- Debugging
- Modules And Helpers
- Reusing Test Code
- Advanced Usage
- BDD
- Customization
- Data
- API Testing
- Codecoverage
- Reporting
- Continuous Integration
- Parallel Execution
Testomatio - Test Management for Codeception
Search
Codeception\Stub
public static make($class, array $params = array ( ), $testCase = null)
templateRealInstanceType of objectparam$classparam array$params - properties and methods to setparam bool|PHPUnitTestCase$testCasethrows RuntimeExceptionwhen class does not existthrows Exceptionreturn PHPUnitMockObject&RealInstanceType- mock
Instantiates a class without executing a constructor.
Properties and methods can be set as a second parameter. Even protected and private properties can be set.
<?php
Stub::make('User');
Stub::make('User', ['name' => 'davert']);Accepts either name of class or object of that class
<?php
Stub::make(new User, ['name' => 'davert']);To replace method provide it’s name as a key in second parameter and it’s return value or callback function as parameter
<?php
Stub::make('User', ['save' => function () { return true; }]);
Stub::make('User', ['save' => true]);To create a mock, pass current testcase name as last argument:
<?php
Stub::make('User', [
'save' => \Codeception\Stub\Expected::once()
], $this);public static factory($class, $num = 1, array $params = array ( ))
param mixed$classparam int$numparam array$paramsthrows Exceptionreturn array
Creates $num instances of class through Stub::make.
public static makeEmptyExcept($class, $method, array $params = array ( ), $testCase = null)
templateRealInstanceType of objectparam$classparam string$methodparam array$paramsparam bool|PHPUnitTestCase$testCasethrows Exceptionreturn PHPUnitMockObject&RealInstanceType
Instantiates class having all methods replaced with dummies except one.
Constructor is not triggered. Properties and methods can be replaced. Even protected and private properties can be set.
<?php
Stub::makeEmptyExcept('User', 'save');
Stub::makeEmptyExcept('User', 'save', ['name' => 'davert']);Accepts either name of class or object of that class
<?php
* Stub::makeEmptyExcept(new User, 'save');To replace method provide it’s name as a key in second parameter and it’s return value or callback function as parameter
<?php
Stub::makeEmptyExcept('User', 'save', ['isValid' => function () { return true; }]);
Stub::makeEmptyExcept('User', 'save', ['isValid' => true]);To create a mock, pass current testcase name as last argument:
<?php
Stub::makeEmptyExcept('User', 'validate', [
'save' => \Codeception\Stub\Expected::once()
], $this);public static makeEmpty($class, array $params = array ( ), $testCase = null)
templateRealInstanceType of objectparam$classparam array$paramsparam bool|PHPUnitTestCase$testCasethrows Exceptionreturn PHPUnitMockObject&RealInstanceType
Instantiates class having all methods replaced with dummies.
Constructor is not triggered. Properties and methods can be set as a second parameter. Even protected and private properties can be set.
<?php
Stub::makeEmpty('User');
Stub::makeEmpty('User', ['name' => 'davert']);Accepts either name of class or object of that class
<?php
Stub::makeEmpty(new User, ['name' => 'davert']);To replace method provide it’s name as a key in second parameter and it’s return value or callback function as parameter
<?php
Stub::makeEmpty('User', ['save' => function () { return true; }]);
Stub::makeEmpty('User', ['save' => true]);To create a mock, pass current testcase name as last argument:
<?php
Stub::makeEmpty('User', [
'save' => \Codeception\Stub\Expected::once()
], $this);public static copy($obj, array $params = array ( ))
param$objparam array$paramsthrows Exceptionreturn mixed
Clones an object and redefines it’s properties (even protected and private)
public static construct($class, array $constructorParams = array ( ), array $params = array ( ), $testCase = null)
templateRealInstanceType of objectparam$classparam array$constructorParamsparam array$paramsparam bool|PHPUnitTestCase$testCasethrows Exceptionreturn PHPUnitMockObject&RealInstanceType
Instantiates a class instance by running constructor.
Parameters for constructor passed as second argument Properties and methods can be set in third argument. Even protected and private properties can be set.
<?php
Stub::construct('User', ['autosave' => false]);
Stub::construct('User', ['autosave' => false], ['name' => 'davert']);Accepts either name of class or object of that class
<?php
Stub::construct(new User, ['autosave' => false], ['name' => 'davert']);To replace method provide it’s name as a key in third parameter and it’s return value or callback function as parameter
<?php
Stub::construct('User', [], ['save' => function () { return true; }]);
Stub::construct('User', [], ['save' => true]);To create a mock, pass current testcase name as last argument:
<?php
Stub::construct('User', [], [
'save' => \Codeception\Stub\Expected::once()
], $this);public static constructEmpty($class, array $constructorParams = array ( ), array $params = array ( ), $testCase = null)
templateRealInstanceType of objectparam$classparam array$constructorParamsparam array$paramsparam bool|PHPUnitTestCase$testCasereturn PHPUnitMockObject&RealInstanceType
Instantiates a class instance by running constructor with all methods replaced with dummies.
Parameters for constructor passed as second argument Properties and methods can be set in third argument. Even protected and private properties can be set.
<?php
Stub::constructEmpty('User', ['autosave' => false]);
Stub::constructEmpty('User', ['autosave' => false], ['name' => 'davert']);Accepts either name of class or object of that class
<?php
Stub::constructEmpty(new User, ['autosave' => false], ['name' => 'davert']);To replace method provide it’s name as a key in third parameter and it’s return value or callback function as parameter
<?php
Stub::constructEmpty('User', [], ['save' => function () { return true; }]);
Stub::constructEmpty('User', [], ['save' => true]);To create a mock, pass current testcase name as last argument:
<?php
Stub::constructEmpty('User', [], [
'save' => \Codeception\Stub\Expected::once()
], $this);public static constructEmptyExcept($class, $method, array $constructorParams = array ( ), array $params = array ( ), $testCase = null)
templateRealInstanceType of objectparam$classparam string$methodparam array$constructorParamsparam array$paramsparam bool|PHPUnitTestCase$testCasethrows ReflectionExceptionreturn PHPUnitMockObject&RealInstanceType
Instantiates a class instance by running constructor with all methods replaced with dummies, except one.
Parameters for constructor passed as second argument Properties and methods can be set in third argument. Even protected and private properties can be set.
<?php
Stub::constructEmptyExcept('User', 'save');
Stub::constructEmptyExcept('User', 'save', ['autosave' => false], ['name' => 'davert']);Accepts either name of class or object of that class
<?php
Stub::constructEmptyExcept(new User, 'save', ['autosave' => false], ['name' => 'davert']);To replace method provide it’s name as a key in third parameter and it’s return value or callback function as parameter
<?php
Stub::constructEmptyExcept('User', 'save', [], ['save' => function () { return true; }]);
Stub::constructEmptyExcept('User', 'save', [], ['save' => true]);To create a mock, pass current testcase name as last argument:
<?php
Stub::constructEmptyExcept('User', 'save', [], [
'save' => \Codeception\Stub\Expected::once()
], $this);public static update($mock, array $params)
param PHPUnitMockObject|object$mockparam array$paramsthrows LogicExceptionreturn object
Replaces properties of current stub
public static consecutive()
return \Codeception\Stub\ConsecutiveMap
Stubbing a method call to return a list of values in the specified order.
<?php
$user = Stub::make('User', ['getName' => Stub::consecutive('david', 'emma', 'sam', 'amy')]);
$user->getName(); //david
$user->getName(); //emma
$user->getName(); //sam
$user->getName(); //amyCodeception is a BDD-styled PHP testing framework, brought to you by Codeception Team. OpenSource MIT Licensed.

