В justmock мы можем вернуть издевались экземпляры вместо реальных экземпляров, устраивая вызов конструктора какДразнящий вызов конструктора в Justmock не выполняется для UrlHelper
Mock.Arragne(()=>new MyClass(Arg.IsAny<string>())).IgnoreInstance().Returns(Mock.Create<MyClass>());
, но когда я попробовал то же самое с UrlHelper
класса, а не издевались типа, фактический тип получает экземпляр. Может кто-нибудь сказать, если есть какая-либо ошибка в этом:
UrlModel класс
public class UrlModel
{
private UrlHelper url;
public UrlModel()
{
url = new UrlHelper(HttpContext.Current.Request.RequestContext);
}
}
Метод испытания:
public void UrlTest()
{
Mock.Arrange(() => HttpContext.Current.Request.RequestContext).Returns(Mock.Create<RequestContext>());
var mockedUrl = Mock.Create<UrlHelper>();
Mock.Arrange(() => new UrlHelper(Arg.IsAny<RequestContext>()))
.IgnoreArguments()
.IgnoreInstance()
.Returns(mockedUrl);
//Here url will have actual instance instead of mocked instance
var model = new UrlModel();
//Assert is ommitted for bravity ..
}