Поймайте исключение и подтвердите его, используя C# Nunit - PullRequest
0 голосов
/ 19 июня 2020

Я делаю отрицательный тест и ожидаю исключения. Поэтому все, что я хочу знать, это как я могу поймать сообщение об исключении и затем подтвердить его.

[Then(@"I create the (.*)")]
    public void ThenICreateTheContact(string entityName)
    {
        entityId = m_OrgServ.Create(entity);
    }

    [Then(@"I verify the exception")]
    public void ThenIVerifyTheException()
    {
        ScenarioContext.Current.Pending();
    }

и это исключение -

Generic Exception caught: contact With Id = 81b10448-49b2-ea11-aacb-067e3e789e92 Does Not ExistSystem.ServiceModel.FaultException`1[Microsoft.Xrm.Sdk.OrganizationServiceFault]: Generic Exception caught: contact With Id = 81b10448-49b2-ea11-aacb-067e3e789e92 Does Not Exist (Fault Detail is equal to Exception details: 

Исключение возникает, когда я делаю m_OrgServ .Create (объект); Поэтому я хочу поймать его и затем подтвердить его сообщение в следующем методе, который я показал.

1 Ответ

0 голосов
/ 19 июня 2020

Вы можете использовать TestDelegate.

    private TestDelegate _create;
    
    [Then(@"I create the (.*)")]
    public void ThenICreateTheContact(string entityName)
    {
        _create = () => m_OrgServ.Create(entity);
    }

    [Then(@"I verify the exception")]
    public void ThenIVerifyTheException()
    {
      var exception = Assert.Throws<FaultException<OrganizationServiceFault>>(_create);
      Assert.That(exception.Message, Is.EqualTo("expected message here"));
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...