5
public void execute(){
service.call(ThisClass::method1);
}
Ve aşağıdaki:
void method1(){do 1;}
void method2(){do 2;}
Ve testinde
:@Mock
Service service;
@Test
public void testCallMethod1()
{
MyClass myClass = new MyClass();
myClass.execute();
service.verify(any(Runnable.class));
}
Ve çalışır, ancak, bunu nasıl doğrularım Herhangi bir Runnable yerine parametre method1 ve method2 değil miydi?
Ben benzeyecek çözüm arıyorum (Örneğin, gerçekten çalışır): Benim için
service.verify(eq(MyClass::method1.getRunnable()))
Ne demek 'Bu parametrenin nasıl olduğunu belirtmeliyim ...' Hangi yöntemin çağrıldığını bilmeniz gerekiyorsa, bu en iyi uygulama olmayabilir – AxelH
Bunun yerine, kötü İngilizce'm için üzgünüm düzenleme netleştirmek için soru. – Anton
Tamam, bu sadece test amaçlı ... bu kısmı kaçırdı. Bunu test etmek biraz garip çünkü sonuç önemli, bunu başarmanın yolu kontrol edilmesi biraz zor. Method #() 'da herhangi bir güncelleme yapılmadan, bir yol olduğundan şüpheliyim. – AxelH