Я использую NUnit с FakeIteasyпроблема с fakeiteasy, бросая исключение
Мой тестовый метод:
[Test]
public async Task SiteDetailsView_NMSException()
{
url = "/Svc/v1/Sites/GetNextID?UID=" + orgUID;
A.CallTo(() => fake.GetDataAsync<int>(fakeHttpSession, url)).Throws(new Exception(new Uri(url),
new ExceptionDetail()
{
ErrorCode=ExceptionErrorCode.ParameterOutOfRange
Description="param OrganizationUID"
}));
// Act
var actionResult = await myController.DetailsView(UID, oName, oUID, isReadOnly);
var viewResult = actionResult as ViewResult;
// Assert
Assert.IsNotNull(actionResult);
}
My controller Code:
public async Task<ActionResult> DetailsView(int sUID, string oName, int oUID, bool isReadOnly)
{
try
{
SModel siModel = new SModel();
siModel .dite.Id = await _client.GetDataAsync<int>(Session, "/ManagementSvc/v1/ites/GetID?oUID=" + orgUID);
}
catch (Exception ex)
{
return View("Error", _plExceptionHandler.HandleException(ex));
}
}
}
Я получаю сообщение об ошибке, как
System.Uri.Format Exception : the format of URI cannot be determined.' at
A.CallTo(() => fake.GetDataAsync<int>(fakeHttpSession, url)).Throws(new SException(new Uri(url), new ExceptionDetail() { ErrorCode=ExceptionErrorCode.ParameterOutOfRange,Description="param OUID"}));
есть ли способ игнорировать первый (Uri) и исключение throw. Я не могу передать нуль, а для первого параметра
вот мой Exception класс:
public class NException : Exception
{
private readonly NExceptionDetail m_ExceptionDetails;
private readonly Uri m_requestUri;
public NException(Uri requestUri, nExceptionDetail nExceptionDetails)
{
if (requestUri == null)
throw new ArgumentNullException("requestUri");
m_requestUri = requestUri;
}
}
Как бросить NException
с помощью FakeItEasy.
Я хочу делать утверждения для сообщений об ошибках.
Как я могу утверждать.
Спасибо за помощь для игнорирования parameter.How может я по прибывшему другую проблему относительно метания пользовательского класса исключений (NMSException) –
Поскольку вы получаете ошибку синтаксического анализа Ури, вы можете остановить разборе 'URL 'string (что означало бы, что вам нужен конструктор' NMSExceptionDetail', который взял что-то иное, чем 'Uri'), или построить допустимую строку URI в переменной url. –
Спасибо за предложения, дайте мне знать, есть ли способ игнорировать этот параметр url для URI. Бетоз все мои сценарии исключения должны быть покрыты из этого. –