PHPUnit9.0 断言-assertThat()
2022-03-24 10:26 更新
PHPUnit9.0 断言集合
可以用
PHPUnit\Framework\Constraint
类来订立更加复杂的断言。随后可以用 assertThat()
方法来评定这些断言。示例 1.61 展示了如何用 logicalNot()
和 equalTo()
约束条件来表达与 assertNotEquals()
等价的断言。
assertThat(mixed $value, PHPUnit\Framework\Constraint $constraint[, $message = ''])
当 $value 不符合约束条件 $constraint 时报告错误,错误讯息由 $message 指定。
示例 1.61 assertThat() 的用法
<?php declare(strict_types=1);
use PHPUnit\Framework\TestCase;
final class BiscuitTest extends TestCase
{
public function testEquals(): void
{
$theBiscuit = new Biscuit('Ginger');
$myBiscuit = new Biscuit('Ginger');
$this->assertThat(
$theBiscuit,
$this->logicalNot(
$this->equalTo($myBiscuit)
)
);
}
}
表格 1.1 列举了所有可用的 PHPUnit\Framework\Constraint 类。
表格 1.1约束条件
约束条件 | 含义 |
PHPUnit\Framework\Constraint\IsAnything anything() |
此约束接受任意输入值。 |
PHPUnit\Framework\Constraint\ArrayHasKey arrayHasKey(mixed $key) |
此约束断言数组拥有指定键名。 |
PHPUnit\Framework\Constraint\TraversableContains contains(mixed $value) |
此约束断言 array 或实现了 Iterator 接口的对象包含有给定值。 |
PHPUnit\Framework\Constraint\TraversableContainsOnly
containsOnly(string $type) |
此约束断言 array 或实现了 Iterator 接口的对象仅包含给定类型的值。 |
PHPUnit\Framework\Constraint\TraversableContainsOnly containsOnlyInstancesOf(string $classname) |
此约束断言 array 或实现了 Iterator 接口的对象仅包含给定类名的类的实例。 |
PHPUnit\Framework\Constraint\IsEqual equalTo($value, $delta = 0, $maxDepth = 10) |
此约束检验一个值是否等于另外一个。 |
PHPUnit\Framework\Constraint\DirectoryExists directoryExists() |
此约束检查目录是否存在。 |
PHPUnit\Framework\Constraint\FileExists fileExists() |
此约束检查文件(名)是否存在。 |
PHPUnit\Framework\Constraint\IsReadable isReadable() |
此约束检查文件(名)是否可读。 |
PHPUnit\Framework\Constraint\IsWritable isWritable() |
此约束检查文件(名)是否可写。 |
PHPUnit\Framework\Constraint\GreaterThan greaterThan(mixed $value) |
此约束断言值大于给定值。 |
PHPUnit\Framework\Constraint\LogicalOr greaterThanOrEqual(mixed $value) |
此约束断言值大于或等于给定值。 |
PHPUnit\Framework\Constraint\ClassHasAttribute classHasAttribute(string $attributeName) |
此约束断言类具有给定属性。 |
PHPUnit\Framework\Constraint\ClassHasStaticAttribute classHasStaticAttribute(string $attributeName) |
此约束断言类具有给定静态属性。 |
PHPUnit\Framework\Constraint\ObjectHasAttribute objectHasAttribute(string $attributeName) |
此约束断言对象具有给定属性。 |
PHPUnit\Framework\Constraint\IsIdentical identicalTo(mixed $value) |
此约束断言值与另外一个值全等。 |
PHPUnit\Framework\Constraint\IsFalse isFalse() |
此约束断言值是 false。 |
PHPUnit\Framework\Constraint\IsInstanceOf isInstanceOf(string $className) |
此约束断言对象是给定类的实例。 |
PHPUnit\Framework\Constraint\IsNull isNull() |
此约束断言值是 null。 |
PHPUnit\Framework\Constraint\IsTrue isTrue() |
此约束断言值是 true。 |
PHPUnit\Framework\Constraint\IsType isType(string $type) |
此约束断言值是指定的类型。 |
PHPUnit\Framework\Constraint\LessThan lessThan(mixed $value) |
此约束断言值小于给定值。 |
PHPUnit\Framework\Constraint\LogicalOr lessThanOrEqual(mixed $value) |
此约束断言值小于或等于给定值。 |
logicalAnd() |
逻辑与(AND)。 |
logicalNot(PHPUnit\Framework\Constraint $constraint) |
逻辑非(NOT)。 |
logicalOr() |
逻辑或(OR)。 |
logicalXor() |
逻辑异或(XOR)。 |
PHPUnit\Framework\Constraint\PCREMatch matchesRegularExpression(string $pattern) |
此约束断言字符串匹配于正则表达式。 |
PHPUnit\Framework\Constraint\StringContains stringContains(string $string, bool $case) |
此约束断言字符串包含指定字符串。 |
PHPUnit\Framework\Constraint\StringEndsWith stringEndsWith(string $suffix) |
此约束断言字符串以给定后缀结尾。 |
PHPUnit\Framework\Constraint\StringStartsWith stringStartsWith(string $prefix) |
此约束断言字符串以给定前缀开头。 |
以上内容是否对您有帮助:
更多建议: