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
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:
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:
- By using the
static class
Alezhu\PHPUnitArrayContainsAsserts\Assert - By using
the trait
Alezhu\PHPUnitArrayContainsAsserts\ArrayContainsTraitin your test case - By creating
new constraint instances (
Alezhu\PHPUnitArrayContainsAsserts\Constraint\…)
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
其他信息
- 授权协议: MIT
- 更新时间: 2023-09-05