Ich versuche, meinen ersten phpunit Test zu erstellen und finde mich selbst müssen eine Methode auf eine IMailer
Schnittstelle Stub.PHPUnit Aufruf zu undefinierter Methode `Mock_x _ :: method()`
interface IMailer
{
public function send($to, $from, $cc, $subject, $body);
public function sent();
}
$mailer = $this->getMockBuilder(
'IMailer',
array('send', 'sent'))->getMock();
$mailer->method('send')->willRreturn(0);
Allerdings halte ich in
class Mock_IMailer_4c3e02a7#215 (1) {
private $__phpunit_invocationMocker =>
NULL
}
Arbeiten mit dem gibt einen dito Fehler
PHP Fatal error:
Call to undefined method Mock_Mailer_13fc0a04::method()
in ...Test.php on line 16
ein var_dump($mailer);
Ergebnisse zu erzielen - es scheint, dass die nachgeahmten Objekt jede Mock nicht haben Funktionalität ...
Ich benutze phpunit 3.7.28, und php 5.5.9, auf einer Ubuntu-Box.
Wie kommt es? Wie kann ich es reparieren?
Dank für meinen 'getMockBuilder' Aufruf zu korrigieren. Die 'undefined Methode' bleibt jedoch ... – xtofl
Der obige Code läuft einwandfrei auf phpunit 4.1.0.Haben Sie versucht, den Funktionsaufruf expects zum zweiten Teil hinzuzufügen ('$ mailer -> expects-> method-> willReturn')? Können Sie die gesamte Testklasse teilen, die Sie ausführen? Das könnte Ihnen weitere Anhaltspunkte für das Problem geben, dem Sie gegenüberstehen ... – ejuhjav
Ich denke, das sollte akzeptiert werden. -> setMethods und -> returnValue löste mein sehr ähnliches Problem (auch scheint es, ich habe alte phpunit) – Jimmmy