第一次写Web单元测试,由于以前的DLL大量引用有HttpContext.Current的代码,结果每次运行到这类代码都会由于HttpContext.Current==null导致出错。
百度了一下发现可以在单元测试代码里直接给HttpContext.Current赋值达到回避这种错误的效果。代码如下:
HttpContext.Current = new HttpContext(new HttpRequest("", "http://localhost", ""), new HttpResponse(new StringWriter(new StringBuilder())));
然后测试单元就能正常运行了。
关于单元测试的一点补充:
Console.Write(val);//输出中的标准输出
Debug.Write(val);//输出中的调试跟踪
以上两个含义是一样的,只是在输出时会开成调试跟踪与标准输出