2014-04-02 27 views
0

不幸的是,PHP不允許字符串類型提示。如果它不是某個類的實例,我想檢查下面的項目並拋出一個錯誤。是否可以單元測試這個,無論是通過嘲諷還是以其他方式執行此檢查?如何使一個instanceOf檢查可測試

if (!is_array($schedules)) { 
     $schedules = array($schedules); 
    } 
    foreach ($schedules as $schedule) { 
     if (($schedule instanceOf Schedulable) === false) { 
      throw new ScheduleException('Schedule for "'.$command->getName().'" is not an instance of Schedulable'); 
     } 

     //more stuff here 
    } 

我遇到的麻煩是$schedule是一個模擬。我需要測試//more stuff here部分發生了什麼。

當前,$scheduleMockery::mock('Schedule');的實例。

+0

在剛剛捕獲異常一個測試用例(或'@ expectedException',基本上是一樣的)? – zerkms

+0

@zerkms我現在意識到,我沒有包括我需要的一切。 – Webnet

+0

雖然這個問題尚不清楚。所以,'$ schedule'是一個模擬。可以,然後呢? – zerkms

回答

3

正如我們在評論中已經討論過一個應確保:

  1. 類已被定義或能夠自動載入
  2. 的全名應該使用