当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP PHPUnit assertArraySubset()用法及代码示例


assertArraySubset()函数是PHPUnit中的内置函数,用于声明具有子集的数组,如果该数组包含提供的子集,则该声明返回true;否则返回false;如果为true,则声明的测试用例通过否则测试用例失败。

用法

assertArraySubset(array $subset, array $array[, bool $strict = false, string $message = ''])

参数:该函数接受四个参数,如以上语法所示。参数说明如下:


  1. $subset:此参数表示要包含在数组中的子集。
  2. $array:此参数是一个数组,assert函数将为其检查其是否包含子集。
  3. $strict:此参数是一个标志,用于比较数组中对象的身份。
  4. $message:此参数采用字符串值。当测试用例失败时,此字符串消息将显示为错误消息。

以下示例程序旨在说明assertArraySubset()函数:

程序1:

<?php 
use PHPUnit\Framework\TestCase; 
  
class GeeksPhpunitTestCase extends TestCase 
{ 
    public function testNegativeTestcaseForArraySubset() 
    { 
        $testArray = array("a"=>"value b", "b" =>" value b"); 
        $subset = array("a"=> "value a");  
        // assert function to test whether 'subset' is a subset of array 
        $this->assertArraySubset($subset, $testArray, false, "testArray doesn't contains subset as subset") ; 
    } 
} 
  
?>

输出:

PHPUnit 6.5.5 by Sebastian Bergmann and contributors.

F                                                                   1 / 1 (100%)

Time:29 ms, Memory:4.00MB

There was 1 failure:

1) GeeksPhpunitTestCase::testNegativeTestcaseForArraySubset
testArray doesn't contains subset as subset
Failed asserting that an array has the subset Array &0 (
    'a' => 'value a'
).
--- Expected
+++ Actual
@@ @@
 Array
 (
-    [a] => value a
+    [a] => value b

/home/shivam/Documents/geeks/phpunit/abc.php:11

FAILURES!
Tests:1, Assertions:1, Failures:1.

程序2:

<?php 
use PHPUnit\Framework\TestCase; 
  
class GeeksPhpunitTestCase extends TestCase 
{ 
    public function testPositiveTestcaseForArraySubset() 
    { 
        $testArray = array("a"=>"value a", "b" =>" value b"); 
        $subset = array("a"=> "value a");  
        // assert function to test whether 'subset' is a subset of array 
        $this->assertArraySubset($subset, $testArray, false, "testArray doesn't contains subset as subset") ; 
    } 
} 
?>

输出:

PHPUnit 6.5.5 by Sebastian Bergmann and contributors.

.                                                                   1 / 1 (100%)

Time:21 ms, Memory:4.00MB

OK (1 test, 1 assertion)

注意:要使用phpunit运行测试用例,请遵循此处的步骤。



相关用法


注:本文由纯净天空筛选整理自Shivam.Pradhan大神的英文原创作品 PHPUnit | assertArraySubset() function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。