C#:
Testien kirjoittaminen
Miten:
C#-kehittäjät käyttävät pääasiassa NUnit- tai xUnit-kehyksiä testien kirjoittamiseen niiden joustavuuden ja laajan ominaisuusjoukon vuoksi. Tässä on perusesimerkki, jossa NUnitia käytetään yksinkertaisen yhteenlaskufunktion testaamiseen:
- Asenna NUnit ja NUnit3TestAdapter NuGet Package Managerin tai .NET CLI:n kautta:
dotnet add package NUnit
dotnet add package NUnit3TestAdapter
Luo C#-luokkakirjastoprojekti, jos et ole vielä tehnyt niin.
Kirjoita yksinkertainen funktio testattavaksi. Esimerkiksi yhteenlaskumenetelmä luokassa nimeltä
Calculator
:
public class Calculator
{
public int Add(int a, int b)
{
return a + b;
}
}
- Kirjoita testiluokka käyttäen NUnitia:
using NUnit.Framework;
namespace CalculatorTests
{
[TestFixture]
public class CalculatorTests
{
[Test]
public void Add_AddsTwoIntegers_ReturnsCorrectSum()
{
// Arrange
var calculator = new Calculator();
int expected = 5;
// Act
int actual = calculator.Add(2, 3);
// Assert
Assert.AreEqual(expected, actual);
}
}
}
- Suorita testi käyttäen IDE:si testiajo-ohjelmaa tai .NET CLI:tä:
dotnet test
Esimerkkituloste:
Olettaen, että testisi läpäisee, sinun pitäisi nähdä tuloste, joka muistuttaa tätä:
Test Run Successful.
Total tests: 1
Passed: 1
Total time: 1.2345 Sekuntia
Käyttäen xUnitia:
Jos mieluummin käytät xUnitia, asennus on samankaltainen kuin NUnitilla. Näin kirjoitat testiesimerkin Calculator
-luokalle käyttäen xUnitia:
- Asenna xUnit ja xUnit.runner.visualstudio:
dotnet add package xUnit
dotnet add package xUnit.runner.visualstudio
- Kirjoita testiluokka käyttäen xUnitia:
using Xunit;
namespace CalculatorTests
{
public class CalculatorTests
{
[Fact]
public void Add_AddsTwoIntegers_ReturnsCorrectSum()
{
// Arrange
var calculator = new Calculator();
int expected = 5;
// Act
int actual = calculator.Add(2, 3);
// Assert
Assert.Equal(expected, actual);
}
}
}
- Suorita testi käyttäen .NET CLI:tä tai IDE:si integroitua testiajo-ohjelmaa.
Sekä NUnit että xUnit tarjoavat tehokkaita ominaisuuksia parametrisoituun testaukseen, pystytys/purkutoiminnoihin ja testien järjestämiseen kategorioihin, mikä tekee niistä korvaamattomia työkaluja C#-ohjelmoijan työkalupakkiin koodin laadun ja toiminnallisuuden varmistamiseksi.