在 ASP.NET MVC Controller 内对私有(private)方法进行单元测试的最佳实践是什么?目前,如果我想对 Controller 内的私有(private)方法进行单元测试,我必须将其设置为公共(public),但当我这样做时,该方法会暴露在网络上。
将方法移至辅助类的最佳方式是吗?
最佳答案
您应该将该方法移至您提取接口(interface)的辅助类中。这样就可以更轻松地执行依赖项注入(inject)并切换底层实现或在需要时模拟它。
测试私有(private)方法是一种代码味道(或测试味道)。
仅在必须时才使用 InternalsVisibleTo 技巧(即,您使用的是不可测试的类,并且必须引发通过 protected 函数调用对您隐藏的事件)。
关于c# - 如何在 ASP.NET MVC 中对私有(private) Controller 方法进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6044376/