olmadan ancak ben sadece sahte nesneleri enjekte etmek bağımlılık enjeksiyon kullanmak çerçeveler alay rastlamak, bir JUnit test-suite nesneleri alaycı ilgileniyorum. Bununla birlikte, python @patch hatları() boyunca, bu yalancı nesne enjekte etmeden sahte sınıfları/işlevleri mümkün istiyoruz.Java Mock nesne, bağımlılık enjeksiyon
Önemsiz örnek:
Basitçe//dependency injection
public String bar(Foo foo) {
return foo.foo(); //just pass in mock Foo object
}
//.... onto test code
Foo mockedFoo = <Mocked Foo object>;
String response = bar(mockedFoo);
assertEqual(response, <mockedFoo return value>);
//case I am looking for
public String bar() {
Foo foo = new Foo(); //how to create mock object here?
return foo.foo(); //or simply how to mock a single function?
}
//... onto test code
<force the Foo class or foo method to be mocked from here without touching bar() source code>
String response = bar();
assertEqual(response, <mocked response>);
http://stackoverflow.com/questions/10895605/how-to-mock-a-single-method-in-java – kamoor
Örneğin bir kütüphane kullanın Mockito. Veya daha basit durumlarda, 'Foo'yu genişletin ya da daha da iyisi, basit bir alay alabilmek için 'Foo' ile aynı arayüzü uygulayın. – mike
Mike Mockito bakarak gelen, hala bağımlılıkları enjekte edilmesi gerekir anlaşılmaktadır. Açıklığı arttırmak için lütfen yukarıdaki tabloya bakınız. –