5
在MyClass類,我考我:如何驗證特定的類方法是否作爲參數傳遞?
public void execute(){
service.call(ThisClass::method1);
}
與以下:
void method1(){do 1;}
void method2(){do 2;}
而且在測試:
@Mock
Service service;
@Test
public void testCallMethod1()
{
MyClass myClass = new MyClass();
myClass.execute();
service.verify(any(Runnable.class));
}
和它的作品,但是,我怎麼驗證參數而不是任何Runnable是method1而不是method2?
我正在尋找解決方案,它看起來像(例如,並非真正的作品):
service.verify(eq(MyClass::method1.getRunnable()))
你說的'我怎麼指定參數的意思是......'如果你需要知道哪些方法被調用,這可能不是最好的實現 – AxelH
其中的而不是,對不起我的英文不好,編輯這個問題要澄清。 – Anton
好吧,這只是爲了測試目的...錯過了那部分。測試這個有點奇怪,因爲結果很重要,實現它的方法有點難以檢查。沒有''方法#()'中的任何更新,我懷疑是否有辦法。 – AxelH