Sto cercando di restituire un oggetto quando si prende in giro una classe parser. Questo è il codice di prova che utilizza PHPUnit 3.7
//set up the result object that I want to be returned from the call to parse method
$parserResult= new ParserResult();
$parserResult->setSegment('some string');
//set up the stub Parser object
$stubParser=$this->getMock('Parser');
$stubParser->expects($this->any())
->method('parse')
->will($this->returnValue($parserResult));
//injecting the stub to my client class
$fileWriter= new FileWriter($stubParser);
$output=$fileWriter->writeStringToFile();
Nel mio metodo writeStringToFile()
sto usando $parserResult
come questo:
writeStringToFile(){
//Some code...
$parserResult=$parser->parse();
$segment=$parserResult->getSegment();//that's why I set the segment in the test.
}
Devo simulare ParserResult
in primo luogo, in modo che il mock restituisca un mock?
È un buon design per i mock per restituire mock?
C'è un approccio migliore per fare tutto questo?!