Birden Arayüzler alaycı

0 Cevap php

Is it possible to mock an object in a way that it fakes multiple interfaces implementations? (Note: I am using "padraic's mockery" https://github.com/padraic/mockery)

Ben bir sınıf Db_Interface ve Configurable_Interface uygular Mysql, ve hangi ben sadece başka bir sınıfını test edebilmek için alay etmek gerekir olduğunu varsayalım. Ben (bunu değiştirmek ya da gelecekte yok çünkü biz arayüzleri kullanabilirsiniz bu yüzden doğru, değil mi?) Başka bir isimle değil, Mysql ile bir mock oluşturmak istiyorsanız, bu yüzden alay konusu yapmak istemiyorum :: sahte ('MySQL') .

Ben Mockery gibi yaratabilecek :: mock ('Db_Interface') bilmek ve instanceof Db_Interface onay geçerdi. Ama nasıl yapabilirsiniz çok başka bir arabirim için kontrolünden geçmek?

@Gordon ok heres the code:

$m = Mockery::mock('Configurable_Interface');
var_dump($m instanceof Configurable_Interface); // true
var_dump($m instanceof Db_Interface); // false of course, since I don't know how to make a mock implement 2 interfaces

0 Cevap