何か間違ったことをしているのか、それともPHPUnitとモックオブジェクトのバグなのかわかりません。基本的に、トリガー$Model->doSomething()
されたときにが呼び出されるかどうかをテストしようとしています。$Model->start()
私はVirtualBoxでUbuntuを使用しており、phpunit1.1.1はpear経由でインストールされています。
完全なコードは以下のとおりです。どんな助けもいただければ幸いです、それは私を夢中にさせています。
<?php
require_once 'PHPUnit/Autoload.php';
class Model
{
function doSomething( ) {
echo 'Hello World';
}
function doNothing( ) { }
function start( ) {
$this->doNothing();
$this->doSomething();
}
}
class ModelTest extends PHPUnit_Framework_TestCase
{
function testDoSomething( )
{
$Model = $this->getMock('Model');
$Model->expects($this->once())->method('start'); # This works
$Model->expects($this->once())->method('doSomething'); # This does not work
$Model->start();
}
}
?>
PHPUnitからの出力:
There was 1 failure:
1) ModelTest::testDoSomething
Expectation failed for method name is equal to <string:doSomething> when invoked 1 time(s).
Method was expected to be called 1 times, actually called 0 times.
FAILURES!
Tests: 1, Assertions: 1, Failures: 1.