我使用Mockito
對於具有以下條件的方法寫JUnit
:如何繞過/模擬動物園管理員連接
if(curatorFramework.getZooKeeperClient().isConnected() {
//do something
}
考試我一定要做點什麼的一部分。爲此,我試圖模擬IF條件爲真。下面我嘗試:
@Mock CuratorFramework curatorFrameworkMock
when(curatorFrameworkMock.getZooKeeperClient().isConnected()).thenReturn(true);
但它拋出NullPointerException
因爲
curatorFrameworkMock.getZooKeeperClient() expects ZooKeeperClient Object to call isConnected().
沒有辦法,我可以在我的JUnit
類中創建的ZooKeeperClient
的對象。如何通過Mocking將此IF條件設置爲TRUE?
返回它我已經用同樣的方式嘗試過。它仍然在IF條件下拋出NullPointerException。 – 2015-04-07 06:12:44
即使您將'curatorZookeeperClientMock'對象作爲模擬結果傳遞給'getZookeeperClient()'? 此設置適用於我使用Mockito版本1.10.8 – 2015-04-07 18:23:04
是的。我已經試過這之前,你發佈這個答案,它會引發NullPointerException。順便說一句,我在Mockito 1.9.5。 如果您有任何問題,請分享帶有類似scenerio的JUnit代碼。 在此先感謝:) – 2015-04-08 04:28:51