unit-testing
Påståendetyper
Sök…
Verifiera ett returnerat värde
[Test]
public void Calculator_Add_ReturnsSumOfTwoNumbers()
{
Calculator calculatorUnderTest = new Calculator();
double result = calculatorUnderTest.Add(2, 3);
Assert.AreEqual(5, result);
}
Tillståndsbaserad testning
Med tanke på denna enkla klass kan vi testa att ShaveHead
metoden fungerar korrekt genom att hävda att HairLength
är inställd på noll efter att ShaveHead
metoden har kallats.
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);
}
Verifiera ett undantag kastas
Ibland är det nödvändigt att hävda när ett undantag kastas. Olika enhetstestningsramar har olika konventioner för att hävda att ett undantag kastades (som NUnit's Assert.Throws-metod). Detta exempel använder inga ramspecifika metoder, bara inbyggda i undantagshantering.
[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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow