garethellis/hamcrest-matchers

一组自定义的Hamcrest匹配器

4.0.0 2024-06-21 11:50 UTC

This package is auto-updated.

Last update: 2024-09-21 12:20:07 UTC


README

一个简单的自定义Hamcrest匹配器集合,用于与hamcrest/hamcrest-php一起使用。

Code Climate

安装

使用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());