原文:http://www.codeproject.com/csharp/TestNonPublicMembers.asp


Testing Protected Methods

要测试一个 protected 方法,我们的测试类需要继承包含这个 protected 方法的父类,然后在测试类中就可以公开使用这个 protected 方法了,示例如下:

假设要测试下面 ClassLibrary1.Class1 中的 MyProtectedMethod() 方法:

使用 nUnit 测试 Private 和 Protected 方法using System;
使用 nUnit 测试 Private 和 Protected 方法
使用 nUnit 测试 Private 和 Protected 方法
namespace ClassLibrary1
 end of namespace

下面是测试类代码:
使用 nUnit 测试 Private 和 Protected 方法using System;
使用 nUnit 测试 Private 和 Protected 方法
使用 nUnit 测试 Private 和 Protected 方法
using NUnit.Framework;
使用 nUnit 测试 Private 和 Protected 方法
使用 nUnit 测试 Private 和 Protected 方法
namespace ClassLibrary1
 end of namespace


Testing Private Methods

测试 private 方法需要使用反射

假设要测试下面 ClassLibrary1.Class1 中的 MyPrivateMethod() 方法:
使用 nUnit 测试 Private 和 Protected 方法using System;
使用 nUnit 测试 Private 和 Protected 方法
使用 nUnit 测试 Private 和 Protected 方法
namespace ClassLibrary1
 end of namespace

下面是测试类代码:
使用 nUnit 测试 Private 和 Protected 方法using System;
使用 nUnit 测试 Private 和 Protected 方法
using System.Reflection;
使用 nUnit 测试 Private 和 Protected 方法
使用 nUnit 测试 Private 和 Protected 方法
using NUnit.Framework;
使用 nUnit 测试 Private 和 Protected 方法
使用 nUnit 测试 Private 和 Protected 方法
namespace ClassLibrary1
 end of namespace





相关文章: