I followed Sanjay and tried the fake MS framework,
First of all, you should open "Solution Explorer > your test project > Reference"=> right-click the "System.ServiceModel.Web"=>press "add Fakes Assembly"
Reference:
using Microsoft.QualityTools.Testing.Fakes;
using System.ServiceModel.Web.Fakes;
Example:
using (ShimsContext.Create())
{
var response = new ShimOutgoingWebResponseContext();
var request = new ShimIncomingWebRequestContext();
var ctx_hd = new WebHeaderCollection();
ctx_hd.Add("myCustomHeader", "XXXX");
request.HeadersGet = () => ctx_hd;
var ctx = new ShimWebOperationContext
{
OutgoingResponseGet = () => response,
IncomingRequestGet = () => request
};
ShimWebOperationContext.CurrentGet = () => ctx;
}
WebOperationContext.Current.IncomingRequest.Headers [ "myCustomHeader" ] WCF.
MS Fakes MSDN:
https://msdn.microsoft.com/en-us/library/hh549176.aspx