我想单元测试一个具有许多内部函数的类。这些显然也需要测试,但我的测试项目是分开的,主要是因为它涵盖了许多小型的相关项目。我到目前为止是:通过System.Reflection访问内部成员?
FieldInfo[] _fields =
typeof(ButtonedForm.TitleButton).GetFields(
BindingFlags.NonPublic | BindingFlags.Instance |
BindingFlags.DeclaredOnly);
Console.WriteLine("{0} fields:", _fields.Length);
foreach (FieldInfo fi in _fields)
{
Console.WriteLine(fi.Name);
}
这很好地吐出所有的私人成员,但仍然不显示内部。我知道这是可能的,因为当我乱搞Visual Studio可以生成的自动生成的测试时,它询问了有关向Test项目显示内部结构的问题。那么,现在我正在使用NUnit并非常喜欢它,但是我怎样才能用它实现相同的功能呢?
我同意使用InternalsVisibleTo,但感谢您的回答:) – 2008-10-05 02:05:43
没问题,即使在您的特定使用情况下使用不同的方法更合适,也可以有实际的解释。 – 2008-10-05 02:16:39
只是一个参考,链接到这个答案的页面是我的,我的网址已经改变。这就是为什么你可能会得到404。尝试此更新的链接http://jason.whitehorn.ws/2007/11/09/The-Wonders-Of-InternalsVisibleTo.aspx – 2008-11-23 00:57:00