定制 alezhu/phpunit-array-contains-asserts 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

alezhu/phpunit-array-contains-asserts

最新稳定版本:10.0.5

Composer 安装命令:

composer require alezhu/phpunit-array-contains-asserts

包简介

Provides PHPUnit assertions to test array contains data or structure

README 文档

README

PHPUnit 10 latest version PHPUnit 10 build Status PHPUnit 9 latest version PHPUnit 9 build Status PHPUnit 8 latest version PHPUnit 8 build Status Total Downloads License PHP Version Require GitHub code size in bytes

Provides PHPUnit assertions to test when array-like data contains expected data with expected structure.

This PHPUnit extension was written for PHPUnit 10, but also has branches for PHPUnit 8 and PHPUnit 9 . If it doesn't work properly, please don't hesitate to open a new Issue on GitHub, or, even better, create a Pull Request with a proposed fix .

Table of contents:

  1. Install
  2. Usage
    1. Constraint ArrayContains
    2. Constraint ArrayContainsOnly

Install

PHPUnit arrayContains asserts is available on Packagist.org and can be installed using Composer:

composer require --dev alezhu/phpunit-array-contains-asserts

Usage

There are three (basically equivalent) options to use PHPUnitArrayAssertions:

All options do the same, the only difference is that the static class and trait both throw class Alezhu\PHPUnitArrayContainsAsserts\Exception\InvalidArgumentTypeException ( or PHPUnit\Framework\InvalidArgumentException for PHPUnit 9 and 8) exceptions for invalid parameters. Creating new constraint instances is useful for advanced assertions, e.g. together with PHPUnit\Framework\Constraint\LogicalAnd.

Constraint ArrayContains

The ArrayContains constraint asserts that an array contains all expected values (for non-associative arrays) or all expected keys with expected values (for associative arrays).

Expected values can be set directly or via another PHPUnit constraints (PHPUnit\Framework\Constraint\...).

Expected and actual data can be array or iterator or inherit ArrayObject or implements ArrayAccess+Countable interfaces.

Expected and actual data must have same associative kind.

Usage:

use Alezhu\PHPUnitArrayContainsAsserts\Assert;
use PHPUnit\Framework\Constraint\IsType;

//Passed
Assert::assertArrayContains(
    [
        "foo" => new isType(IsType::TYPE_STRING), 
        "baz" => 1
    ], 
    [
        "foo" => "value",
        "bar" => true, 
        "baz" => 1
    ]
); 
//Not Passed
Assert::assertArrayContains(
    [
        "foo" => new isType(IsType::TYPE_STRING), 
        "baz" => 1
    ], 
    [
        "foo" => "bar", 
    ]
); 

Constraint ArrayContainsOnly

The ArrayContainsOnly constraint asserts that an array contains only all expected values (for non-associative arrays) or only all expected keys with expected values (for associative arrays).

Expected values can be set directly or via another PHPUnit constraints (PHPUnit\Framework\Constraint\...).

Expected and actual data can be array or iterator or inherit ArrayObject or implements ArrayAccess+Countable interfaces.

Expected and actual data must have same associative kind.

Usage:

use Alezhu\PHPUnitArrayContainsAsserts\Assert;
use PHPUnit\Framework\Constraint\IsType;

//Passed
Assert::assertArrayContainsOnly(
    [
        "foo" => new isType(IsType::TYPE_STRING), 
        "baz" => 1
    ], 
    [
        "foo" => "value",
        "baz" => 1
    ]
); 
//Not Passed
Assert::assertArrayContainsOnly(
    [
        "foo" => new isType(IsType::TYPE_STRING), 
        "baz" => 1
    ], 
    [
        "foo" => "bar",
        "bar" => true, 
        "baz" => 1         
    ]
); 

统计信息

  • 总下载量: 2.8k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-09-05