2010-07-24 100 views
2

我正在使用Mono和Lokad質量庫來開發一個API,它可以執行諸如檢查方法的特徵以查看它們是否拋出異常等等。我該如何測試?

我在此API中的一個方法看起來像這樣:

// Get all methods which have a NotImplementedException 
var throwingMethods = _codebase.Methods 
    .Where(m => m.GetInstructions() 
       .Exists(i => i.Creates<NotImplementedException>()) 
    ).ToArray(); 
return throwingMethods; 

我該如何測試這個? C#沒有自己的本地功能來做同樣的事情。也許我只需要一個小程序集,製作一個硬編碼的集合,然後比較一下?

感謝

回答

6

你可以嘗試嘲諷_codebase變量返回一些預定義的方法你的單元測試。如果_codebase是由傳遞給您正在測試的類的構造函數(構造函數注入)的變量設置的,那麼這可能相當容易(假設Methods屬性被覆蓋,並且該類不被密封)。