簡體   English   中英

接受MethodInfo對象的方法的單元測試

[英]Unit Testing for a method that accepts MethodInfo objects

我需要對一個方法進行單元設置,該方法接收某種任意用戶代碼方法(通過反射動態加載)的MethodInfo對象。

public string SomeMethod(MethodInfo methodInfo);

我想使用不同的MethodInfo對象來執行此方法。

最簡單的方法是使用<type>.GetMethod("name")檢索MethodInfo對象,然后使用它調用經過測試的方法並對結果進行斷言。

我想介紹盡可能多的“不同”方法信息(或更具體地說,要傳遞盡可能多的不同方法)。

我正在考慮2種方法,不確定是否應該這樣做:

  1. 用我需要的所有方法創建一個新的測試類。 使用此類型的GetMethods()並對其進行迭代,以將其輸入到我的測試方法中。

  2. 為每個方法創建一個單獨的單元測試。

第一個選項更易於擴展(向測試類添加新方法),但包含多個斷言(針對其具有的每個MethodInfo實例進行斷言)。

我們如何輕松解決此問題並針對此特定方案創建可靠的測試?

用我需要的所有方法創建一個新的測試類。 使用此類型的GetMethods()並對其進行迭代,以將其輸入到我的測試方法中。

如果SomeMethod的邏輯(處理此MethodInfo的邏輯)具有處理所有類型的MethodInfo的通用邏輯,則按照上述路線進行操作。

為每個方法創建一個單獨的單元測試。

如果SomeMethod中的邏輯對各種類型的MethodInfo具有特定的案例邏輯, SomeMethod上述路線進行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM