【发布时间】:2017-01-05 04:54:59
【问题描述】:
我正在尝试对私有方法进行单元测试。 我在question 上看到了下面的示例
Class target = new Class();
PrivateObject obj = new PrivateObject(target);
var retVal = obj.Invoke("PrivateMethod");
Assert.AreEqual(retVal);
我的私有方法有 2 个参考参数。 如何通过?
【问题讨论】:
-
您查看过
Invoke的重载吗?它们都不适合你吗? -
试试 ->
obj.Invoke("PrivateMethod",ref yourparmarray); -
@DStanley 是的,我看过这里msdn.microsoft.com/en-us/library/…,但不知道如何使用。我缺少示例。
-
@eomeroff 如果您进行了一些“搜索”,那么最好将您的发现包含在问题中,以解释您从文档中到底不明白什么。
-
顺便说一句,我和其他许多人建议不要直接对私有方法进行单元测试。一定要确保所有的逻辑路径都被覆盖,但是如果你不能从一个公共方法访问它,你可以确定那行逻辑是死代码。
标签: c# unit-testing private-methods