我正在使用Xcode 4和GHUnit首次編寫一些單元測試。所有的建議似乎建議與GHUnit,而不是OCUnit。GHAssertThrowsSpecific找不到類型NSRangeException
我有一個名爲'myList'的自定義集合對象,並傳遞一條消息以獲取選擇index:-1
。因此它正確地拋出一個NSRangeException(來自潛在的可變數組)。
我很努力用GHAssertThrowsSpecific斷言來解決這個問題。
下面這行代碼不會編譯說'未知類型名'NSRangeException'。
GHAssertThrowsSpecific(s = [myList selectionAtIndex:-1],
NSRangeException, @"Should have thrown an NSRangeException", nil);
我是#importing "Foundation/NSException.h"
其中NSRangeException似乎是定義的。如果我將其更改爲:
GHAssertThrowsSpecific(s = [myList selectionAtIndex:-1],
NSException, @"Should have thrown an NSException", nil);
然後編譯良好,斷言起作用,所以它與NSRangeException有關。
如果我看看頭文件,NSRangeException似乎被定義爲NSString * const
,在這種情況下,我該如何設法聲明我期望捕獲它。
我顯然很愚蠢,因爲我看不到我做錯了什麼。