J'utilise NUnit avec FakeIteasyproblème avec fakeiteasy tout en jetant exception
Mon test Méthode:
[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));
}
}
}
Je reçois erreur
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"}));
Est-il possible d'ignorer la première (Uri) paramètre et jeter l'exception. Je ne peux pas passer nulle aussi bien pour le premier paramètre
ici est ma classe d'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;
}
}
Comment lancer NException
en utilisant FakeItEasy.
Je veux faire des assertions pour les messages d'erreur.
Comment puis-je faire une assertion.
Merci pour l'aide d'ignorer parameter.How puis-je venir sur l'autre problème concernant lancer la classe d'exception personnalisée (NMSException) –
Puisque vous obtenez une erreur d'analyse Uri, vous pouvez arrêter l'analyse syntaxique 'url 'string (ce qui voudrait dire que vous auriez besoin d'un constructeur' NMSExceptionDetail' qui a pris autre chose qu'un 'Uri'), ou construire une chaîne URI valide dans la variable' url'. –
Merci pour les suggestions, laissez-moi savoir s'il existe un moyen d'ignorer ce paramètre url pour URI. Becoz tous mes scénarios d'exception doivent être couverts de cela. –