Ben bir şey eksik olmalı. Ben PHPUnit bir sınıf üzerinde saplama yöntemleri çalışıyorum, ama ben alay nesnesinin yöntemini çağırdığınızda, bu yöntem undefined olduğunu söylüyor.
Saplama Örnek sınıfı:
namespace MyApp;
class MyStubClass
{
public function mrMethod()
{
// doing stuff
}
}
Bunu saplama, yazıyorum:
// specifying all getMock() args to disable calling of class __construct()
$stub = $this->getMock('MyStubClass', array(), array(), 'MockMyStubClass', false, false, false);
$stub->expects($this->any())
->method('mrMethod')
->will($this->returnValue('doing stuff'));
Ama söndürdü yöntemini çağırarak üzerine, bir istisna olsun:
$stub->mrMethod();
//PHP Fatal error: Call to undefined method MockMyStubClass::mrMethod()
PHP 5.3.0 ile phpunit 3.4.3 kullanıyorum.
Fark başka küçük bir şey olduğunu, çünkü bir çift ad bir sınıf yükleme istisna getMock()
yöntemi sonuçlarında bir ad belirterek eğer:
$stub = $this->getMock('MyApp\MyStubClass');
// Fatal error: Class 'MyApp\MyApp\MyStubClass' not found
That strikes me as rather odd (and getmock() will not accept a namespace with a leading backslash). The only thing I could think to cause that would may be because this class is registered with an autoloader?
Herhangi bir düşünce?