如何使用NUnit测试类中的private和protected方法
2009-04-08 09:58
513 查看
在C#中单元测试如果开发工具是Visual studio 2005 Team版本,。你可以使用VSTS对模板进行单元测试,如果你使用的专业版那么开发工具中不含有VSTS工具,我们只能使用Nunit工具做测试,被测试的类中方法如果是PUBLIC没有什么多大的问题,但是当使用protected或者private就出现一定的麻烦。
如果是protected我们可以把测试类作为子类,被测试的类作为父类,可以使用base调用父类的方法作为测试。
如果是private则我们要使用反射采用解决这个问题,具体的代码如下。
//LendBooksBLL是被测试的类
BLL.LendBooksBLL lendBooksBLL = new BLL.LendBooksBLL();
BindingFlags flag = BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public;
MethodInfo m;
System.Type t=typeof(BLL.LendBooksBLL);
m= t.GetMethod("Add", flag);
object ret= m.Invoke(lendBooksBLL, new object[] { 1, 2 });
如果是protected我们可以把测试类作为子类,被测试的类作为父类,可以使用base调用父类的方法作为测试。
如果是private则我们要使用反射采用解决这个问题,具体的代码如下。
//LendBooksBLL是被测试的类
BLL.LendBooksBLL lendBooksBLL = new BLL.LendBooksBLL();
BindingFlags flag = BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public;
MethodInfo m;
System.Type t=typeof(BLL.LendBooksBLL);
m= t.GetMethod("Add", flag);
object ret= m.Invoke(lendBooksBLL, new object[] { 1, 2 });
相关文章推荐
- NUnit详细使用用法(补充)--在.NET中如何利用NUnit测试Private和Protected方法
- NUnit详细使用用法(补充)--在.NET中如何利用NUnit测试Private和Protected方法
- NUnit详细使用用法(补充)--在.NET中如何利用NUnit测试Private和Protected方法
- 一个类如何使用另一个类的private、protected方法
- 使用 nUnit 测试 Private 和 Protected 方法
- .NET中如何测试Private和Protected方法
- C++中public、protected及private使用方法
- Private私有派生或Protected保护派生时,如何让基类的方法在派生类外面可用
- 关于php中反射类的简单理解:如何拿到一个类的所有方法(public+protected+private)
- 为什么类和接口不能使用private和protected?接口的方法不能使用private、protected、default
- 使用 nUnit 测试 Private 和 Protected 方法
- Android如何使用读写cookie的方法
- 如何防止css高度塌陷最推荐的方法:使用伪元素(这样不会对文档布局造成影响)
- 如何使用gdb调试多进程 (attach方法)
- 如何在cocos2d-x中使用ECS(实体-组件-系统)架构方法开发一个游戏?
- WdatePicker.js的使用方法 帮助文档 使用说明 如何使用
- 如何在C#中使用get及set方法定义属性
- 如何通过使用 DataReader GetSchemaTable 方法和 C#.net 检索列模式
- Java能不能继承父类的protected和private方法?
- 如何:使用 Split 方法分析字符串(C# 编程指南)