Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/wwwroot/mifepriston.org/vendor/codeception/stub/ |
Upload File : |
# Codeception\Stub  [](https://packagist.org/packages/codeception/stub) [](https://packagist.org/packages/codeception/stub) [](https://packagist.org/packages/codeception/stub) Library on top of PHPUnit's mock builder providing a highly simplified syntax: ## Reference * [Stub](https://github.com/Codeception/Stub/blob/master/docs/Stub.md) - creating stub classes using static methods * [Stub Trait](https://github.com/Codeception/Stub/blob/master/docs/StubTrait.md) - creating stubs and mocks using trait * [Expected](https://github.com/Codeception/Stub/blob/master/docs/Expected.md) - defining expectations for mocks ## Install Enabled by default in Codeception. For PHPUnit install this package: ``` composer require codeception/stub --dev ``` ## Stubs Stubs can be constructed with `Codeception\Stub` static calls: ```php <?php // create a stub with find method replaced $userRepository = Stub::make(UserRepository::class, ['find' => new User]); $userRepository->find(1); // => User // create a dummy $userRepository = Stub::makeEmpty(UserRepository::class); // create a stub with all methods replaced except one $user = Stub::makeEmptyExcept(User::class, 'validate'); $user->validate($data); // create a stub by calling constructor and replacing a method $user = Stub::construct(User::class, ['name' => 'davert'], ['save' => false]); // create a stub by calling constructor with empty methods $user = Stub::constructEmpty(User::class, ['name' => 'davert']); // create a stub by calling constructor with empty methods $user = Stub::constructEmptyExcept(User::class, 'getName', ['name' => 'davert']); $user->getName(); // => davert $user->setName('jane'); // => this method is empty $user->getName(); // => davert ``` [See complete reference](https://github.com/Codeception/Stub/blob/master/docs/Stub.md) Alternatively, stubs can be created by using [`Codeception\Test\Feature\Stub` trait](https://github.com/Codeception/Stub/blob/master/docs/StubTrait.md): ```php <?php $this->make(UserRepositry::class); $this->makeEmpty(UserRepositry::class); $this->construct(UserRepositry::class); $this->constructEmpty(UserRepositry::class); // ... ``` ## Mocks Mocks should be created by including [`Codeception\Test\Feature\Stub` trait](https://github.com/Codeception/Stub/blob/master/docs/StubTrait.md) into a test case. Execution expectation are set with [`Codeception\Stub\Expected`](https://github.com/Codeception/Stub/blob/master/docs/Expected.md): ```php <?php // find should be never called $userRepository = $this->make(UserRepository::class, [ 'find' => Codeception\Stub\Expected::never() ]); // find should be called once and return a new user $userRepository = $this->make(UserRepository::class, [ 'find' => Codeception\Stub\Expected::once(new User) ]); ``` ## License MIT