.
... Eğer Akıcı bir arayüz kullanan test çift nesil özelleştirmek için getMockBuilder ($ tip) yöntemini kullanabilirsiniz. Bana bir örnek verebilirseniz minnettar olurdum.
Teşekkürler. Kaynaktan
.
... Eğer Akıcı bir arayüz kullanan test çift nesil özelleştirmek için getMockBuilder ($ tip) yöntemini kullanabilirsiniz. Bana bir örnek verebilirseniz minnettar olurdum.
Teşekkürler. Kaynaktan
kılavuzu https://phpunit.de/manual/current/en/test-doubles.html
createMock ($ tipi) ve getMockBuilder ($ tipi) PHPUnit tarafından sağlanan yöntem otomatik olarak bir test olarak hareket edebilir bir nesne oluşturmak için bir test kullanılabilir Belirtilen orijinal tip için çift (arayüz veya sınıf adı). Bu test çift nesnesi, orijinal türden bir nesnenin beklendiği veya gerekli olduğu her bağlamda kullanılabilir.
createMock ($ tür) yöntemi, belirtilen tür (arabirim veya sınıf) için bir test çift nesnesini hemen döndürür. Bu testin çiftinin oluşturulması, en iyi uygulama varsayılanları (__construct() ve orijinal sınıfın __clone() yöntemleri yürütülmez ve test çiftinin bir yöntemine iletilen bağımsız değişkenleri klonlamayacaktır.
bu varsayılan sonra gerekenler bir akıcı arayüzü kullanarak testi çift nesil özelleştirmek için yöntem getMockBuilder ($ tip) kullanabilirsiniz değilseniz.
zaten yığın taşması üzerine bol cevaplar akıcı arayüzler nelerdir
createMock ($ tip) içten getMockBuilder()
kullanır:
protected function createMock($originalClassName)
{
return $this->getMockBuilder($originalClassName)
->disableOriginalConstructor()
->disableOriginalClone()
->disableArgumentCloning()
->disallowMockingUnknownTypes()
->getMock();
}
Yani
createMock()
yöntem size genel en iyi uygulama varsayılan ile inşa bir taklidini dönecektir.
getMockBuilder ($ türünde) ile kendi gereksinimlerinizi içeren bir alay oluşturabilirsiniz.
'$ mock_service_provider = $ this-> createMock (" \ Service \ ServiceProvider ") -> yöntemi (" getService ") -> willReturn ($ service)' bu da akıcı değil mi? Yani bir benzerlik değil, bir fark. Bazı somut farklılıklar istedim, kılavuzu okudum ama henüz bir epiphanyim var ... yine de bu çok parçacığı kullanıyorum. –
@ ChristianM.Raymonds Bence akıcı değil. getMockBuilder, sistemde mevcut olmayan (sistemde bulunmayan) sınıflar oluşturmak istediğinizde yararlıdır: $ this-> getMockBuilder ('SomeFunnyClassName') -> setMethods (array ('FunnyMethodName')) -> getMock(); Standart test için, createMock –
'u kullanmak istiyorsunuz. Peki, bana yardım etme çabalarınızı takdir ediyorum, ama sanırım akıcılığını yanlış anladınız. –