[英]Unit Testing for a method that accepts MethodInfo objects
我需要對一個方法進行單元設置,該方法接收某種任意用戶代碼方法(通過反射動態加載)的MethodInfo對象。
public string SomeMethod(MethodInfo methodInfo);
我想使用不同的MethodInfo對象來執行此方法。
最簡單的方法是使用<type>.GetMethod("name")
檢索MethodInfo對象,然后使用它調用經過測試的方法並對結果進行斷言。
我想介紹盡可能多的“不同”方法信息(或更具體地說,要傳遞盡可能多的不同方法)。
我正在考慮2種方法,不確定是否應該這樣做:
用我需要的所有方法創建一個新的測試類。 使用此類型的GetMethods()並對其進行迭代,以將其輸入到我的測試方法中。
為每個方法創建一個單獨的單元測試。
第一個選項更易於擴展(向測試類添加新方法),但包含多個斷言(針對其具有的每個MethodInfo實例進行斷言)。
我們如何輕松解決此問題並針對此特定方案創建可靠的測試?
用我需要的所有方法創建一個新的測試類。 使用此類型的GetMethods()並對其進行迭代,以將其輸入到我的測試方法中。
如果SomeMethod
的邏輯(處理此MethodInfo的邏輯)具有處理所有類型的MethodInfo的通用邏輯,則按照上述路線進行操作。
為每個方法創建一個單獨的單元測試。
如果SomeMethod
中的邏輯對各種類型的MethodInfo具有特定的案例邏輯, SomeMethod
上述路線進行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.