Testing Protected Methods
要測(cè)試一個(gè) protected 方法,我們的測(cè)試類需要繼承包含這個(gè) protected 方法的父類,然后在測(cè)試類中可以公開使用這個(gè) protected 方法了,示例如下:
假設(shè)要測(cè)試下面 ClassLibrary1.Class1 中的 MyProtectedMethod() 方法:
using System;
namespace ClassLibrary1
{
/**//// <summary>
/// Summary description for Class1.
/// </summary>
public class Class1
{
protected int MyProtectedMethod(int val1, int val2)
{
return val1 + val2;
}
} // end of class
} // end of namespace
下面是測(cè)試類代碼:
using System;
using NUnit.Framework;
namespace ClassLibrary1
{
/**//// <summary>
/// Summary description for Tester.
/// </summary>
[TestFixture]
public class Tester : Class1
{
[Test]
public void MyProtectedMethod_Test()
{
Assert.AreEqual(5, base.MyProtectedMethod(2, 3));
}
} // end of class
} // end of namespace
Testing Private Methods
測(cè)試 private 方法需要使用反射
假設(shè)要測(cè)試下面 ClassLibrary1.Class1 中的 MyPrivateMethod() 方法:
using System;
namespace ClassLibrary1
{
/**//// <summary>
/// Summary description for Class1.
/// </summary>
public class Class1
{
protected int MyPrivateMethod(int val1, int val2)
{
return val1 + val2;
}
} // end of class
} // end of namespace