Ben 'return value'
onun argümanları ne olursa olsun döndüren bir PHPUnit sahte nesne var :
// From inside a test...
$mock = $this->getMock('myObject', 'methodToMock');
$mock->expects($this->any))
->method('methodToMock')
->will($this->returnValue('return value'));
Ne yapabilmek istiyorum sahte yöntemine iletilen bağımsız değişkenlere dayalı farklı bir değer döndürmektir. Gibi bir şey denedim:
$mock = $this->getMock('myObject', 'methodToMock');
// methodToMock('one')
$mock->expects($this->any))
->method('methodToMock')
->with($this->equalTo('one'))
->will($this->returnValue('method called with argument "one"'));
// methodToMock('two')
$mock->expects($this->any))
->method('methodToMock')
->with($this->equalTo('two'))
->will($this->returnValue('method called with argument "two"'));
Ancak bu, sahte argüman ile çağrılmazsa PHPUnit'in şikayet etmesine neden olur 'two'
, bu yüzden methodToMock('two')
ilk tanımın üzerine yazıldığını varsayalım .
Benim sorum şu: Bir PHPUnit sahte nesne bağımsız değişkenleri dayalı farklı bir değer döndürmek için herhangi bir yolu var mı? Ve eğer öyleyse, nasıl?