assertequals() php,PHP PHPUnit assertEqualsCanonicalizing()用法及代码示例

本文介绍了PHPUnit中的assertEqualsCanonicalizing()函数,用于验证两个数组是否按规范相等。文章通过两个示例程序展示了函数的正确和错误用法,并解释了其参数的意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

assertEqualsCanonicalizing()函数是PHPUnit中的内置函数,用于断言期望变量和实际变量是否相等。在实际比较之前,将对两个数组进行排序和比较之前的标准均值。如果期望值和实际值相同,则该断言将返回true,否则返回false。如果为真,则通过断言的测试用例,否则测试用例失败。

用法:

assertEqualsCanonicalizing( mixed $expected, mixed $actual, string $message = '' )

参数:该函数接受三个参数,如上面的语法所示。参数说明如下:

$expected:该参数是一个混合变量,表示期望值。

$actual:此参数是一个混合变量,表示要与期望值进行比较的实际值。

$message:此参数采用字符串值。当测试用例失败时,此字符串消息将显示为错误消息。

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

程序1:

use PHPUnit\Framework\TestCase;

class GeeksPhpunitTestCase extends TestCase

{

public function testNegativeTestcaseForAssertEqualsCanonicalizing()

{

$expected = array(1, 2, 3, 4);

$actual = array(2, 1, 2, 4);

// Assert function to test whether expected

// and actual are canonically equal or not.

$this->assertEqualsCanonicalizing(

$expected, $actual,

"expected and actual are not canonically equals"

);

}

}

?>

输出:

PHPUnit 8.2.5 by Sebastian Bergmann and contributors.

F 1 / 1 (100%)

Time:65 ms, Memory:10.00 MB

There was 1 failure:

1) GeeksPhpunitTestCase::testNegativeTestcaseForAssertEqualsCanonicalizing

expected and actual are not canonically equals

Failed asserting that two arrays are equal.

--- Expected

+++ Actual

@@ @@

Array (

0 => 1

1 => 2

- 2 => 3

+ 2 => 2

3 => 4

)

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

FAILURES!

Tests:1, Assertions:1, Failures:1.

程序2:

use PHPUnit\Framework\TestCase;

class GeeksPhpunitTestCase extends TestCase

{

public function testPositiveTestcaseForAssertEqualsCanonicalizing()

{

$expected = array(1, 2, 3, 4);

$actual = array(2, 1, 3, 4);

// Assert function to test whether expected

// and actual are canonically equal or not.

$this->assertEqualsCanonicalizing(

$expected, $actual,

"expected and actual are not canonically equals"

);

}

}

?>

输出:

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及更高版本支持assertEqualsCanonicalizing()。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值