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


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


assertContainsOnly()函数是PHPUnit中的内置函数,用于声明数组以包含其所有值作为给定的数据类型。如果数组仅包含给定数据类型的值,则此断言将返回true;否则返回false;如果为true,则断言的测试用例通过,否则测试用例失败。

用法:

assertContainsOnly(string $dataType, array $array, 
                 boolean $isNativeType = null, string $message = '')

参数:此函数接受上面语法中所示的四个参数。参数说明如下:


  • $dataType:此参数是一个字符串,由数据类型的名称组成。
  • $array:此参数是一个数组,断言函数将为其检查是否仅包含给定类型的值。
  • $isNativeType:此参数表明数据类型是否为PHP本机数据类型。
  • $message:此参数采用字符串值。当测试用例失败时,此字符串消息将显示为错误消息。

以下程序说明了PHPUnit中的assertContainsOnly()函数:

程序1:

<?php 
use PHPUnit\Framework\TestCase; 
  
class GeeksPhpunitTestCase extends TestCase 
{ 
    public function testNegativeTestcaseForAssertContainsOnly() 
    { 
        $testArray = array("geeksforgeek", 2); 
        $dataType = "string";  
        // assert function to test whether testArray contains 
        // only string values 
        $this->assertContainsOnly($dataType, $testArray, null, 
                 "testArray doesn't  contains only string") ; 
    } 
} 
  
?>

输出:

PHPUnit 8.2.5 by Sebastian Bergmann and contributors.

F                                                                   1 / 1 (100%)

Time:236 ms, Memory:10.00 MB

There was 1 failure:

1) GeeksPhpunitTestCase::testNegativeTestcaseForAssertContainsOnly
testArray doen't  contains only string
Failed asserting that Array &0 (
    0 => 'geeksforgeek'
    1 => 2
) contains only values of type "string".

/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 testPositiveTestcaseForAssertContainsOnly() 
    { 
        $testArray = array("geeksforgeek", "learn"); 
        $dataType = "string";  
        // assert function to test whether testArray contains 
        // only string values 
        $this->assertContainsOnly($dataType, $testArray, null, 
               "testArray doesn't  contains only string") ; 
    } 
} 
  
?>

输出:

PHPUnit 8.2.5 by Sebastian Bergmann and contributors.

.                                                                   1 / 1 (100%)

Time:67 ms, Memory:10.00 MB

OK (1 test, 1 assertion)

注意:要使用phpunit运行测试用例,请遵循此处的步骤。另外,phpunit 7及更高版本支持assertContainsOnly()。



相关用法


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