在方法內部存在一個正在實例化的類的本地實例。 如使用powerMock在void方法上進行驗證
class TestMe{
public void foo()
{
A a = new A();
a.setState(this);
}
}
class A
{
private B b;
public void setState(TestMe tm)
{
b.doSomething(); //returns void
b.doSomethingAdditional(); //returns void
}
}
當測試FOO,使用powerMock,我想做一個驗證,以確保方法DoSomething的()和doSomethingAdditional()被調用。我正在沿着Mockito.verify(ObjectName).functionName()的方向去做。有什麼建議麼??
感謝您的有用評論。我查看了有問題的代碼,不幸的是B沒有setter方法。它在本地構建,用於完成一些任務,然後gc'd。那麼有沒有解決這個問題呢? –
B如何在您的實際代碼中進行初始化。 A是否在某種設置功能中創建一個新的?如果A在第一次嘗試使用它時爲空,那麼它是否會創建一個新的B?你使用什麼模式。在setState中設置 – Walls
,構造B並調用函數。 –