我有一个带有一些GET函数的Web api控制器,我想对其进行测试。在此GET函数内部,有一个公共无效方法 SendCachingHeaders :
if(UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.camera))
{
picker!.delegate = self
picker!.sourceType = UIImagePickerControllerSourceType.camera
self.picker!.showsCameraControls = true;
self.present(picker!, animated: true, completion: nil)
}
在测试类中,我创建 mockController :
public void SendCachingHeaders(int cacheFor) {
Request.HttpContext.Response.Headers.Add("Access-Control-Allow-Origin", "*");
Request.HttpContext.Response.Headers.Add("Cache-Control", "max-age="+cacheFor+", public");
}
SendCachingHeaders 在实现-> IRawEntityController
的控制器内部所以我想用 moq 对象覆盖 SendCachingHeaders 方法主体,如下所示:
var mockController = new Mock<IRawEntityController>();
但是,当我运行测试时,我可以在debbuger中看到原来的 SendCachingHeaders 方法被调用,而我的模拟对象被完全忽略了。
我完全不理解回叫是做什么的,还是我遗漏了明显的内容?
还有一件事->运行测试时, cacheFor 的值( SendCachingHeaders 方法的参数为'5'。可能无关的信息。
感谢您的帮助。