garethellis / hamcrest-matchers
一组自定义的Hamcrest匹配器
4.0.0
2024-06-21 11:50 UTC
Requires
- php: 8.1.* || 8.2.* || 8.3.*
- ascii-soup/hamcrest-callback-matcher: ^1.1
- hamcrest/hamcrest-php: ^2.0
Requires (Dev)
- fakerphp/faker: ^1.13
- phpunit/phpunit: ^9.5
README
一个简单的自定义Hamcrest匹配器集合,用于与hamcrest/hamcrest-php
一起使用。
安装
使用composer安装
composer require --dev garethellis/hamcrest-matchers
匹配器
UUID匹配器
匹配有效的UUID。示例用法
<?php /** ... **/ assertThat($uuid, is(aUUID()));
匹配UUID数组
<?php /** ... **/ assertThat([$uuid1, $uuid2, $uuid3], is(anArrayOfUUIDs()));
此匹配器使用来自Nils Luxton的回调匹配器(见下文)。
HTML匹配器
匹配包含HTML的字符串。示例用法;
<?php /** ... **/ assertThat($html, containsHTML());
有效JSON匹配器
匹配有效的JSON字符串。示例用法
<?php /** .. **/ assertThat($json, is(validJSON()));
数组值匹配器
匹配数组或Traversable
实例的值。注意 - 忽略键。
assertThat($aTraversableInstance, hasEqualValuesTo($anArray));
回调匹配器
通过Nils Luxton和他的回调匹配器库(作为此库中的composer依赖项包含)实现了回调匹配。示例用法
assertThat("hello", matchesUsing(function($value) { return $value === "hello"; }));
创建新的自定义回调匹配器
您可以使用回调匹配器通过describedAs()
提供更好的期望描述来创建自己的自定义匹配器。
function isSomething() { return describedAs('a custom value', new CallbackMatcher( function($value) { return $value === 'my custom value'; } ) } assertThat($foo, isSomething());