Spec-Zone.ru › Codeception

Codeception\Stub

public static make($class, $params = null, $testCase = null)

Создаёт экземпляр класса без выполнения конструктора. Свойства и методы можно задать во втором параметре. Можно задавать даже защищённые и приватные свойства.

<?php
Stub::make('User');
Stub::make('User', ['name' => 'davert']);
?>

Принимает либо имя класса, либо объект этого класса

<?php
Stub::make(new User, ['name' => 'davert']);
?>

Для замены метода укажите его имя в качестве ключа во втором параметре и его возвращаемое значение или функцию обратного вызова в качестве параметра

<?php
Stub::make('User', ['save' => function () { return true; }]);
Stub::make('User', ['save' => true]);
?>

Для создания мока, передайте имя текущего тестового случая в качестве последнего аргумента:

<?php
Stub::make('User', [
     'save' => \Codeception\Stub\Expected::once()
], $this);
  • шаблон RealInstanceType объекта
  • param class-string<RealInstanceType>|RealInstanceType|callable(): class-string<RealInstanceType> $class - класс, который нужно смокировать
  • param array $params - свойства и методы для задания
  • param bool|\PHPUnit\Framework\TestCase $testCase

  • возвращает \PHPUnit\Framework\MockObject\MockObject&RealInstanceType - мок
  • выбрасывает \RuntimeException, если класс не существует
  • выбрасывает \Exception

public static factory($class, $num = null, $params = null)

Создаёт $num экземпляров класса с помощью Stub::make.

  • param mixed $class
  • param int $num
  • param array $params

  • возвращает массив
  • выбрасывает \Exception

public static makeEmptyExcept($class, $method, $params = null, $testCase = null)

Создаёт экземпляр класса, в котором все методы заменены на фиктивные, кроме одного. Конструктор не вызывается. Свойства и методы можно заменить. Даже защищённые и приватные свойства можно задать.

<?php
Stub::makeEmptyExcept('User', 'save');
Stub::makeEmptyExcept('User', 'save', ['name' => 'davert']);
?>

Принимает либо имя класса, либо объект этого класса

<?php
* Stub::makeEmptyExcept(new User, 'save');
?>

Для замены метода укажите его имя в качестве ключа во втором параметре и его возвращаемое значение или функцию обратного вызова в качестве параметра

<?php
Stub::makeEmptyExcept('User', 'save', ['isValid' => function () { return true; }]);
Stub::makeEmptyExcept('User', 'save', ['isValid' => true]);
?>

Для создания мока, передайте имя текущего тестового случая в качестве последнего аргумента:

<?php
Stub::makeEmptyExcept('User', 'validate', [
     'save' => \Codeception\Stub\Expected::once()
], $this);
  • шаблон
  • param class-string<RealInstanceType>|RealInstanceType|callable(): class-string<RealInstanceType> $class - класс, который нужно смокировать
  • param string $method
  • param array $params
  • param bool|\PHPUnit\Framework\TestCase $testCase

  • возвращает \PHPUnit\Framework\MockObject\MockObject&RealInstanceType
  • выбрасывает \Exception

public static makeEmpty($class, $params = null, $testCase = null)

Создаёт экземпляр класса, в котором все методы заменены на фиктивные. Конструктор не вызывается. Свойства и методы можно задать во втором параметре. Даже защищённые и приватные свойства можно задать.

<?php
Stub::makeEmpty('User');
Stub::makeEmpty('User', ['name' => 'davert']);

Принимает либо имя класса, либо объект этого класса

<?php
Stub::makeEmpty(new User, ['name' => 'davert']);

Для замены метода укажите его имя в качестве ключа во втором параметре и его возвращаемое значение или функцию обратного вызова в качестве параметра

<?php
Stub::makeEmpty('User', ['save' => function () { return true; }]);
Stub::makeEmpty('User', ['save' => true]);

Для создания мока, передайте имя текущего тестового случая в качестве последнего аргумента:

<?php
Stub::makeEmpty('User', [
     'save' => \Codeception\Stub\Expected::once()
], $this);
  • шаблон RealInstanceType объекта
  • param class-string<RealInstanceType>|RealInstanceType|callable(): class-string<RealInstanceType> $class - класс, который нужно смокировать
  • param array $params
  • param bool|\PHPUnit\Framework\TestCase $testCase

  • возвращает \PHPUnit\Framework\MockObject\MockObject&RealInstanceType
  • выбрасывает \Exception

public static copy($obj, $params = null)

Создаёт копию объекта и переопределяет его свойства (даже защищённые и приватные)

  • param $obj
  • param array $params

  • возвращает смешанный тип
  • выбрасывает \Exception

public static construct($class, $constructorParams = null, $params = null, $testCase = null)

Создаёт экземпляр класса, вызвав конструктор. Параметры конструктора передаются во втором аргументе. Свойства и методы можно задать в третьем аргументе. Даже защищённые и приватные свойства можно задать.

<?php
Stub::construct('User', ['autosave' => false]);
Stub::construct('User', ['autosave' => false], ['name' => 'davert']);
?>

Принимает либо имя класса, либо объект этого класса

<?php
Stub::construct(new User, ['autosave' => false], ['name' => 'davert']);
?>

Для замены метода укажите его имя в качестве ключа в третьем параметре и его возвращаемое значение или функцию обратного вызова в качестве параметра

<?php
Stub::construct('User', [], ['save' => function () { return true; }]);
Stub::construct('User', [], ['save' => true]);
?>

Для создания мока, передайте имя текущего тестового случая в качестве последнего аргумента:

<?php
Stub::construct('User', [], [
     'save' => \Codeception\Stub\Expected::once()
], $this);
  • шаблон RealInstanceType объекта
  • param class-string<RealInstanceType>|RealInstanceType|callable(): class-string<RealInstanceType> $class - класс, который нужно смокировать
  • param array $constructorParams
  • param array $params
  • param bool|\PHPUnit\Framework\TestCase $testCase

  • возвращает \PHPUnit\Framework\MockObject\MockObject&RealInstanceType
  • выбрасывает \Exception

public static constructEmpty($class, $constructorParams = null, $params = null, $testCase = null)

Создаёт экземпляр класса, вызвав конструктор, с всеми методами, заменёнными на фиктивные. Параметры конструктора передаются во втором аргументе. Свойства и методы можно задать в третьем аргументе. Даже защищённые и приватные свойства можно задать.

<?php
Stub::constructEmpty('User', ['autosave' => false]);
Stub::constructEmpty('User', ['autosave' => false], ['name' => 'davert']);

Принимает либо имя класса, либо объект этого класса

<?php
Stub::constructEmpty(new User, ['autosave' => false], ['name' => 'davert']);

Для замены метода укажите его имя в качестве ключа в третьем параметре и его возвращаемое значение или функцию обратного вызова в качестве параметра

<?php
Stub::constructEmpty('User', [], ['save' => function () { return true; }]);
Stub::constructEmpty('User', [], ['save' => true]);

Для создания мока, передайте имя текущего тестового случая в качестве последнего аргумента:

<?php
Stub::constructEmpty('User', [], [
     'save' => \Codeception\Stub\Expected::once()
], $this);
  • шаблон RealInstanceType объекта
  • param class-string<RealInstanceType>|RealInstanceType|callable(): class-string<RealInstanceType> $class - класс, который нужно смокировать
  • param array $constructorParams
  • param array $params
  • param bool|\PHPUnit\Framework\TestCase $testCase

  • возвращает \PHPUnit\Framework\MockObject\MockObject&RealInstanceType

public static constructEmptyExcept($class, $method, $constructorParams = null, $params = null, $testCase = null)

Создаёт экземпляр класса, вызвав конструктор, с всеми методами, заменёнными на фиктивные, кроме одного. Параметры конструктора передаются во втором аргументе. Свойства и методы можно задать в третьем аргументе. Даже защищённые и приватные свойства можно задать.

<?php
Stub::constructEmptyExcept('User', 'save');
Stub::constructEmptyExcept('User', 'save', ['autosave' => false], ['name' => 'davert']);
?>

Принимает либо имя класса, либо объект этого класса

<?php
Stub::constructEmptyExcept(new User, 'save', ['autosave' => false], ['name' => 'davert']);
?>

Для замены метода укажите его имя в качестве ключа в третьем параметре и его возвращаемое значение или функцию обратного вызова в качестве параметра

<?php
Stub::constructEmptyExcept('User', 'save', [], ['save' => function () { return true; }]);
Stub::constructEmptyExcept('User', 'save', [], ['save' => true]);
?>

Для создания мока, передайте имя текущего тестового случая в качестве последнего аргумента:

<?php
Stub::constructEmptyExcept('User', 'save', [], [
     'save' => \Codeception\Stub\Expected::once()
], $this);
  • шаблон RealInstanceType объекта
  • param class-string<RealInstanceType>|RealInstanceType|callable(): class-string<RealInstanceType> $class - класс, который нужно смокировать
  • param string $method
  • param array $constructorParams
  • param array $params
  • param bool|\PHPUnit\Framework\TestCase $testCase

  • возвращает \PHPUnit\Framework\MockObject\MockObject&RealInstanceType

public static update($mock, array $params)

Заменяет свойства текущего стаба

  • param \PHPUnit\Framework\MockObject\MockObject $mock
  • param array $params

  • возвращает смешанный тип
  • выбрасывает \LogicException

public static consecutive()

Метод, который заставляет вызываемый метод возвращать список значений в указанном порядке.

<?php
$user = Stub::make('User', ['getName' => Stub::consecutive('david', 'emma', 'sam', 'amy')]);
$user->getName(); //david
$user->getName(); //emma
$user->getName(); //sam
$user->getName(); //amy
?>
  • возвращает ConsecutiveMap

© 2011 Michael Bodnarchuk and contributors
Licensed under the MIT License.
https://codeception.com/docs/reference/Stub

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API