您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
phpunit已上桩方法返回桩件自身引用的断言-returnSelf
发布时间:2021-09-22 14:25:00编辑:雪饮阅读()
用returnSelf方法返回值传递给桩件的will连贯操作上可以使得被测试的方法返回桩件本身的引用。
DatabaseTest.php:
<?php declare(strict_types=1);
use PHPUnit\Framework\TestCase;
final class DatabaseTest extends TestCase
{
public function testReturnSelf(): void
{
// 创建桩件。
$stub = $this->createStub(Database::class);
// 配置桩件。
$stub->method('doSomething')
->will($this->returnSelf());
// $stub->doSomething() 返回 $stub
var_dump($stub->doSomething());
$this->assertSame($stub, $stub->doSomething());
}
}
use PHPUnit\Framework\TestCase;
final class DatabaseTest extends TestCase
{
public function testReturnSelf(): void
{
// 创建桩件。
$stub = $this->createStub(Database::class);
// 配置桩件。
$stub->method('doSomething')
->will($this->returnSelf());
// $stub->doSomething() 返回 $stub
var_dump($stub->doSomething());
$this->assertSame($stub, $stub->doSomething());
}
}
C:\Users\Administrator\PhpstormProjects\untitled\organizing>D:\phpstudy_pro\Extensions\php\php7.3.4nts\php.exe D:\phpstudy_pro\Extensions\php\php7.3.4nts\phpunit-9.5.8.phar C:\Users\Administrator\PhpstormProjects\untitled\organizing\tests\DatabaseTest.php
PHPUnit 9.5.8 by Sebastian Bergmann and contributors.
. 1 / 1 (100%)C:\Users\Administrator\PhpstormProjects\untitled\organizing\tests\DatabaseTest.php:16:
class Mock_Database_aebcd000#55 (3) {
private $__phpunit_originalObject =>
NULL
private $__phpunit_returnValueGeneration =>
bool(true)
private $__phpunit_invocationMocker =>
class PHPUnit\Framework\MockObject\InvocationHandler#52 (5) {
private $matchers =>
array(1) {
[0] =>
class PHPUnit\Framework\MockObject\Matcher#58 (6) {
...
}
}
private $matcherMap =>
array(0) {
}
private $configurableMethods =>
array(1) {
[0] =>
class PHPUnit\Framework\MockObject\ConfigurableMethod#56 (2) {
...
}
}
private $returnValueGeneration =>
bool(true)
private $deferredError =>
NULL
}
}
Time: 00:00.004, Memory: 20.00 MB
OK (1 test, 1 assertion)
关键字词:phpunit,returnSelf