Просто скомпилировал простой тест, а не по какой-либо конкретной причине, кроме как мне хотелось попробовать тесты для всех моих методов, хотя это довольно просто, или так я думал.
[TestMethod]
public void Test_GetToolRating()
{
var rating = GetToolRating(45.5, 0);
Assert.IsNotNull(rating);
}
private static ToolRating GetToolRating(double total, int numberOf)
{
var ratingNumber = 0.0;
try
{
var tot = total / numberOf;
ratingNumber = Math.Round(tot, 2);
}
catch (Exception ex)
{
var errorMessage = ex.Message;
//log error here
//var logger = new Logger();
//logger.Log(errorMessage);
}
return GetToolRatingLevel(ratingNumber);
}
Как вы можете видеть в методе тестирования, я разделяю на ноль. Проблема в том, что она не генерирует ошибку. См. Экран окна ошибок ниже.
Вместо ошибки он дает значение бесконечности? Что я пропущу? Поэтому я искал googled и обнаружил, что удвоения, деленные на ноль, НЕ генерируют ошибку, они либо дают нуль, либо бесконечность. Тогда возникает вопрос, как один тест для возвращаемого значения Infinity?