unit-testing
Типы утверждений
Поиск…
Проверка возвращаемой стоимости
[Test]
public void Calculator_Add_ReturnsSumOfTwoNumbers()
{
Calculator calculatorUnderTest = new Calculator();
double result = calculatorUnderTest.Add(2, 3);
Assert.AreEqual(5, result);
}
Государственное тестирование
Учитывая этот простой класс, мы можем проверить, что метод ShaveHead
работает правильно, утверждая, что состояние переменной HairLength
устанавливается равным нулю после ShaveHead
метода ShaveHead
.
public class Person
{
public string Name;
public int HairLength;
public Person(string name, int hairLength)
{
this.Name = name;
this.HairLength = hairLength;
}
public void ShaveHead()
{
this.HairLength = 0;
}
}
[Test]
public void Person_ShaveHead_SetsHairLengthToZero()
{
Person personUnderTest = new Person("Danny", 10);
personUnderTest.ShaveHead();
int hairLength = personUnderTest.HairLength;
Assert.AreEqual(0, hairLength);
}
Подвергается проверке исключения
Иногда необходимо утверждать, когда генерируется исключение. В разных модульных модулях тестирования есть разные соглашения для утверждения о том, что было выбрано исключение (например, метод NUnit Assert.Throws). В этом примере не используются какие-либо специфичные для конкретной среды методы, только встроенные в обработку исключений.
[Test]
public void GetItem_NegativeNumber_ThrowsArgumentInvalidException
{
ShoppingCart shoppingCartUnderTest = new ShoppingCart();
shoppingCartUnderTest.Add("apple");
shoppingCartUnderTest.Add("banana");
double invalidItemNumber = -7;
bool exceptionThrown = false;
try
{
shoppingCartUnderTest.GetItem(invalidItemNumber);
}
catch(ArgumentInvalidException e)
{
exceptionThrown = true;
}
Assert.True(exceptionThrown);
}
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow