kuria/phpunit-extras

PHPUnit 的附加功能(例如断言)

v2.0.3 2018-12-05 15:10 UTC

This package is auto-updated.

Last update: 2024-09-22 17:47:12 UTC


README

PHPUnit 的附加功能(例如断言)。

https://www.travis-ci.cn/kuria/phpunit-extras.svg?branch=master

内容

需求

  • PHP 7.1+

用法

AssertionTrait

此特性为测试用例提供了额外的断言方法。

<?php

namespace Acme;

use Kuria\PhpUnitExtras\Traits\AssertionTrait;
use PHPUnit\Framework\TestCase;

class ExampleTest extends TestCase
{
    use AssertionTrait;

    function testFooBar()
    {
        $this->assertEqualIterable([1, 2, 3], new \ArrayObject([1, 2, 3]));
    }
}

assertLooselyIdentical($expected, $actual, $canonicalizeKeys = false)

断言两个值具有相同的类型和值,但如果它们具有相同的属性,则认为同一类的不同实例是相同的。

如果 $canonicalizeKeys = TRUE,则忽略数组键的顺序。

assertSameIterable(iterable $expected, $actual)

断言两个可迭代对象包含相同值和类型,且顺序相同。

类型比较方式与 === 运算符相同。

assertLooselyIdenticalIterable(iterable $expected, $actual, $canonicalizeKeys = false)

断言两个可迭代对象包含相同值和类型,且顺序相同,但如果它们具有相同的属性,则认为同一类的不同实例是相同的。

如果 $canonicalizeKeys = TRUE,则忽略数组键的顺序。

assertEqualIterable(iterable $expected, $actual)

断言两个可迭代对象包含任何顺序的相等值。

类型比较方式与 == 运算符相同。

looselyIdenticalTo($value, $canonicalizeKeys = false)

创建 IsLooselyIdentical 约束。参见 assertLooselyIdentical()

identicalIterable(iterable $expected)

创建 IsIdenticalIterable 约束。参见 assertSameIterable()

looselyIdenticalIterable(iterable $expected, $canonicalizeKeys = false)

创建 IsLooselyIdenticalIterable 约束。参见 assertLooselyIdenticalIterable()

equalIterable(iterable $expected)

创建 IsEqualIterable 约束。参见 assertEqualIterable()

ClockTrait

在测试中模拟当前时间。

仅影响使用 kuria/clock 组件的代码。

<?php

namespace Acme;

use Kuria\PhpUnitExtras\Traits\ClockTrait;
use PHPUnit\Framework\TestCase;

class ExampleTest extends TestCase
{
    use ClockTrait;

    function testFooBar()
    {
        $this->atTime(1535904500, function () {
            // some code that uses Kuria/Clock/Clock
        });
    }
}