如何在单元测试中检查是否使用期望参数调用了私有方法?

Pri*_*his 3 c# unit-testing

我正在编写一个类似于跟随使用nunit和Rhino mock的类.

Class MyClass
{
  private void M()
  {
    N("Hi");
  }

  private void N(string text)
  {
    ........ do something
  }
}
Run Code Online (Sandbox Code Playgroud)

对于方法MI的单元测试,想要检查是否使用参数"Hi"调用方法N. 我该怎么做?

Bri*_*new 10

在我看来,从测试的角度来看,您正在深入研究对象的实现细节.你不能通过检查方法调用的最终结果来执行测试吗?也就是说,大概这些方法调用会产生一些影响.因此,您应该检查最终结果,而不是检查传递的参数.

这样您就可以在以后更改底层代码,并且您的单元测试将确认最终结果是否相同,与您的实现无关.