Ben ne olursa olsun onun argümanları "dönüş değeri" döndüren bir PHPUnit davalarını nesne var:
// From inside a test...
$mock = $this->getMock('myObject', 'methodToMock');
$mock->expects($this->any))
->method('methodToMock')
->will($this->returnValue('return value'));
Ne yapmam mümkün istiyorum sahte yönteme geçirilen argümanlara dayalı farklı bir değer döndürür olduğunu. Ben böyle 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"'));
Ama bu sahte bir argüman "iki" ile adlandırılan değilse PHPUnit şikayet olur, bu yüzden methodToMock ('iki') tanımı ilk tanımını yazar olduğunu varsayalım.
Benim soru yani: onun argümanlara dayalı farklı bir değer döndürmek için bir PHPUnit davalarını nesne almak için herhangi bir yolu var mı? Ve eğer öyleyse, nasıl?
Şimdiden teşekkürler!