За что отвечает метод ContentManager.GetHtmlContent
?Если, как следует из названия, при извлечении HTML-содержимого из URL-адреса недействительным URL-адресом является сценарий сбой выполнения (метод не может сделать то, что должен).У вас есть два варианта:
- выбросить недопустимый uri Исключение из метода
.GetHtmlContent
(хорошо сообщает, что происходит, и следует рекомендациям Microsoft ) - return
null
из .GetHtmlContent
и справимся с этим позже
Обратите внимание, что возвращающий нулевой результат может также использоваться для случая, когда HTML-содержимое действительно null
, поэтому я предлагаю выбрасывать исключениеВот.Это объясняет, что произошло более понятным образом.
Ваш тест может выглядеть так:
[TestMethod]
[ExpectedException(typeof(UriFormatException), "url should be well formatted.")]
public void GetHtmlContent_ThrowsInvalidUriException_WhenUriIsInBadFormat()
{
HashSet<string> urls = new HashSet<string> { "ww.stackoverflow.com" };
var contextManager = new ContentManager(urls);
contextManager.GetHtmlContent();
}