Письменный тест для моего приложения. Хотелось бы, чтобы проверить связь с обработкой Exeption, пока я создал метод, который работает и выглядит как:Единичный тест для подключения/C#
[Test]
public void TestCreateConnection()
{
Connection testConnection = new Connection();
connection.CreateConnection(correctURL, IDName + connection.ApiKey, connection.ContentType, connection.MediaType, connection.Get, false, "name");
testConnection.CreateConnection(correctURL, IDName + connection.ApiKey, connection.ContentType, connection.MediaType, connection.Get, false, "name");
}
В finall версии работает над чем-л, который будет перехватывать исключение - WebExeption
. У меня уже есть блок try/catch внутри моего метода, который собирается создать соединение, он работает c. Но это нужно и в моем тесте. Я думал, что это должно выглядеть:
[Test]
[ExpectedException(typeof(WebException))]
public void TestCreateConnection()
{
Connection testConnection = new Connection();
connection.CreateConnection(correctURL, IDName + connection.ApiKey, connection.ContentType, connection.MediaType, connection.Get, false, "name");
testCconnection.CreateConnection(correctURL, IDName + connection.ApiKey, connection.ContentType, connection.MediaType, connection.Get, false, "name");
Assert.Catch<WebException>(() => connection.CreateConnection("test", IDName + connection.ApiKey, connection.ContentType, connection.MediaType, connection.Get, false, "name"););
}
Как мы можем видеть, я изменил первый ARG метода, который является URL-адрес, он будет Каус веб Exeption. Как я могу написать его правильно?
На мой взгляд, вы должны использовать Assert.Throws вместо ExpectedExceptionAttribute. Использование Assert.Throws делает его более явным, если вы ожидаете исключения. Ваш код должен выглядеть так: 'Assert.Throws (() => connection.CreateConnection (...)'. Кроме того, NUnit 3.0 официально не поддерживает ExpectedExceptionAttribute. В конце вы должны иметь два независимых модульных теста - один для действительного соединения и один для недействительного соединения. –