写了NUnit使用之HelloWorld后,又不知道该写什么了,好像NUnit就这样了.但我们有时又会为测试而抓狂,其实NUnit只是一个工具,写好的单元测试用例要遵循好的设计原则,如:ATRIP.这里就不过多解释了,转入正题.

    对Private方法的测试并不是NUnit本身的功能,而是我们通过.net的反射机制执行private方法得到结果,再各期望值进行比较.所以这次要讲的重点在于.net反射的使用.虽然只是其中一点皮毛,但读者应该可以从中对反射有所了解.

    首先定义一个类Calculator,有一个方法Add,实现简单的加法.这个就是我们的被测类.

 1NUnit使用之对Private方法的测试//被测类,实现简单的加法
 2NUnit使用之对Private方法的测试using System;
 3NUnit使用之对Private方法的测试
 4NUnit使用之对Private方法的测试namespace PrivateMethodTest
 5}

   
      接下来,要对这个类进行测试:

 1NUnit使用之对Private方法的测试using System;
 2NUnit使用之对Private方法的测试using System.Reflection;
 3NUnit使用之对Private方法的测试using NUnit.Framework;
 4NUnit使用之对Private方法的测试
 5NUnit使用之对Private方法的测试namespace PrivateMethodTest
 6}

 

    重点在于通过反射调用Private方法,得到运行结果,其他与测试Public方法并无二样。使用反射的步骤:

    1.创建实例,Calculator cal = new Calculator()   

    2.得到类型(Type),即typeof(PrivateMethodTest.Calculator),名称空间+类名

    3.得到方法(Method),即Type.GetMethod(MethodName,Flags)

    4.调用方法(Invoke),即object result = Method.Invoke(InstanceClass, Params);

     所以result的值为调用cal中的Add方法,传入两参数1和2得到的结果,再与期望的结果3进行比较.测试通过.

NUnit使用之对Private方法的测试

相关文章:

  • 2022-12-23
  • 2021-08-13
  • 2021-12-06
  • 2022-01-16
  • 2022-01-11
  • 2021-12-11
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-02-10
  • 2021-07-18
  • 2021-11-19
  • 2021-07-10
相关资源
相似解决方案