繁体   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