テスト対象コード
SampleClass.php
<?php
class SampleClass
{
    public function __construct()
    {
        exit;
    }
    public function hoge()
    {
        return TRUE;
    }
}
- hoge()がTRUEを返すことを検証したい
 
テストコード
SampleClassTest.php
<?php
require_once 'SampleClass.php';
class SampleClassTest extends PHPUnit_Framework_TestCase
{
    public function testHogeReturnTrue()
    {
        $this->class = new SampleClass();
        $this->assertTrue($this->class->hoge());
    }
}
テスト実行結果
$ phpunit SampleClassTest.php 
PHPUnit 3.6.10 by Sebastian Bergmann.
- コンストラクタが呼ばれexitが実行されるために検証結果が得られない
 
テストコード
SampleClassTest.php
<?php
require_once 'SampleClass.php';
class SampleClassTest extends PHPUnit_Framework_TestCase
{
    public function testHogeReturnTrue()
    {
        $class = $this->getMockBuilder('SampleClass')
                      ->setMethods(NULL)
                      ->disableOriginalConstructor()
                      ->getMock();
        $this->assertTrue($class->hoge());
    }
}
テスト実行結果
$ phpunit SampleClassTest.php
PHPUnit 3.6.10 by Sebastian Bergmann.
.
Time: 0 seconds, Memory: 2.75Mb
OK (1 test, 1 assertion)
- MockBuilderを活用しdisableOriginalConstructor()を設定することで検証結果を得ることができた