Ben PHPUnit bir testte üzerinde çalışıyorum ve ben bir sorun haline çalıştırıyorum. Ben test etmek için çalışıyorum benim sınıf bir kamu işlevi var. Yönteme geçirilen parametrelere bağlı olarak, benim test sınıfında da bir koruma fonksiyonu bir veya iki kez çağrılır. Şu anda dönüş veri doğru olduğunu kontrol etmek yerinde bir test var, ama ben de korunan yöntemi kez doğru sayı denir ediliyor emin olmak istiyorum.
Ben sahte bir nesne bana bir fonksiyon denir sayısını saymak için izin vereceğini biliyorum, ama aynı zamanda korunan işlevi tarafından döndürülen değeri geçersiz kılar. Ben hayır "olacak" bölümüne bir sahte nesnesi kullanarak çalıştı, ama sadece korunan yöntemi için gerçek değer, not null dönecekti.
ExampleClass
public function do_stuff($runTwice){
$results = do_cool_stuff();
if($runTwice){
$results = 2 * do_cool_stuff();
}
return $results;
}
protected function do_cool_stuff()
{
return 2;
}
Benim test, ben do_cool_stuff () bir veya iki kez çağrıldı olup olmadığını kontrol etmek isteyebilirsiniz, ama ben hala çok benim birim test de bu test edebilirsiniz hem de işlevlerin dönüş değerleri aynı olmak istiyorum.
tl;dr I want to count the number of times a protected method in my test object is called (like you can do with a mock object) but I still want all the methods in my test method to return their normal values (not like a mock object).