phpunit alay için yapıcı tartışma çıkmasın
Phpunit önlemek için alay bir nesne için yapıcı aramak zorunda nedir? Aksi takdirde yapıcı bir tartışma, vb için başka biri gibi sahte bir nesne gerekir. Apı bu gibi görünüyor:
getMock($className, $methods = array(), array $arguments = array(),
$mockClassName = '', $callOriginalConstructor = TRUE,
$callOriginalClone = TRUE, $callAutoload = TRUE)
O iş için alamadım. Hala yanlış $callOriginalConstructor
set bile yapıcı tartışma hakkında şikayet ediyor.
Ben sadece yapıcı bir nesne var ve bir bağımlılık enjeksiyon. Tasarım bir sorun var sanmıyorum.
CEVAP
getMockBuilder
yerine getMock
sadece kullanabilirsiniz:
$mock = $this->getMockBuilder('class_name')
->disableOriginalConstructor()
->getMock();
Ayrıntılar için PHPUnit's documentation "Test Doubles" bkz.
Bunu yapabilirsiniz, ancak, çok daha iyi gerek yok. Beton sınıfı (kurucu) enjekte edilmesi gerek yerine, tek bir arayüz bağlıdır böylece kodunuzu yeniden Düzenle. Bu PHPUnit yapıcı davranışlarını değiştirmek için söylemeden alay veya saplama arayüzü anlamına gelir.
Tartışma rm, cp, mv komutları için çok...
Nasıl Bağımlılık yapıcı Enjeksiyon del...
Nasıl ASP.NET MVC Denetleyicisi İsteği...
ASP.NET MVC: Hayır parametresiz yapıcı...
Kullanarak genel parametreleri ile ala...