unit-testing
Typen beweringen
Zoeken…
Een geretourneerde waarde verifiëren
[Test]
public void Calculator_Add_ReturnsSumOfTwoNumbers()
{
Calculator calculatorUnderTest = new Calculator();
double result = calculatorUnderTest.Add(2, 3);
Assert.AreEqual(5, result);
}
Staatstesten
Met deze eenvoudige klasse kunnen we testen of de ShaveHead
methode correct werkt door te beweren dat de status van de HairLength
variabele op nul is ingesteld nadat de ShaveHead
methode is aangeroepen.
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);
}
Het verifiëren van een uitzondering is geworpen
Soms is het nodig om te beweren wanneer een uitzondering wordt gegenereerd. Verschillende kaders voor het testen van eenheden hebben verschillende conventies om te beweren dat er een uitzondering is opgetreden (zoals de methode Assert.Throws van NUnit). In dit voorbeeld worden geen raamwerkspecifieke methoden gebruikt, alleen ingebouwd in afhandeling van uitzonderingen.
[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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow