kuria / phpunit-extras
PHPUnit 的附加功能(例如断言)
v2.0.3
2018-12-05 15:10 UTC
Requires
- php: >=7.1
- kuria/iterable: ^1.0
- phpunit/phpunit: ^7.3.5
Requires (Dev)
- kuria/clock: ^1.0
- kuria/dev-meta: ^0.6
README
PHPUnit 的附加功能(例如断言)。
内容
- 需求
- 用法
AssertionTrait
assertLooselyIdentical($expected, $actual, $canonicalizeKeys = false)
assertSameIterable(iterable $expected, $actual)
assertLooselyIdenticalIterable(iterable $expected, $actual, $canonicalizeKeys = false)
assertEqualIterable(iterable $expected, $actual)
looselyIdenticalTo($value, $canonicalizeKeys = false)
identicalIterable(iterable $expected)
looselyIdenticalIterable(iterable $expected, $canonicalizeKeys = false)
equalIterable(iterable $expected)
ClockTrait
需求
- 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 }); } }