Q:

How do I assert the result is an integer in PHPUnit?

I would like to be able test that a result is an integer (1,2,3...) where the function could return any number, e.g.:
$new_id = generate_id();

I had thought it would be something like:
$this->assertInstanceOf('int', $new_id);

But I get this error:
Argument #1 of PHPUnit_Framework_Assert::assertInstanceOf() must be a class or interface name

A:

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

Edit: As of PHPUnit 8, the answer is:
$this->assertIsInt($id);

A:

I prefer using the official PHPUnit class constants.
PHPUnit v5.2:
use PHPUnit_Framework_Constraint_IsType as PHPUnit_IsType;

// ...

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

Or latest which at the moment of writing is v7.0:
use PHPUnit\Framework\Constraint\IsType;

// ...

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

A:

Original answer is given below for posterity, but I would strongly recommend using assertInternalType() as suggested in other answers.

Original answer:
Simply use assertTrue with is_int().
$this->assertTrue(is_int($new_id));

