如何断言结果是PHPUnit中的整数?

2022-08-30 09:03:44

我希望能够测试结果是一个整数(1,2,3...),其中函数可以返回任何数字,例如:

$new_id = generate_id();

我以为它会是这样的:

$this->assertInstanceOf('int', $new_id);

但是我得到这个错误:

PHPUnit_Framework_Assert::assertInstanceOf() 的参数 #1 必须是类名或接口名


答案 1
$this->assertInternalType("int", $id);

编辑:从PHPUnit 8开始,答案是:

$this->assertIsInt($id);

答案 2

我更喜欢使用官方的PHPUnit类常量。

PHPUnit v5.2

use PHPUnit_Framework_Constraint_IsType as PHPUnit_IsType;

// ...

$this->assertInternalType(PHPUnit_IsType::TYPE_INT, $new_id);

或者在撰写本文时的最新版本是 v7.0

use PHPUnit\Framework\Constraint\IsType;

// ...

$this->assertInternalType(IsType::TYPE_INT, $new_id);

推荐