C#:
Skrive tester

Hvordan:

C#-utviklere bruker primært NUnit- eller xUnit-rammeverkene for å skrive tester på grunn av deres fleksibilitet og omfattende funksjonssett. Her er et grunnleggende eksempel som bruker NUnit for å teste en enkel addisjonsfunksjon:

  1. Installer NUnit og NUnit3TestAdapter via NuGet Package Manager eller .NET CLI:
dotnet add package NUnit
dotnet add package NUnit3TestAdapter
  1. Opprett et C# klassebibliotekprosjekt hvis du ikke allerede har gjort det.

  2. Skriv en enkel funksjon for å teste. For eksempel, en addisjonsmetode i en klasse med navn Calculator:

public class Calculator
{
    public int Add(int a, int b)
    {
        return a + b;
    }
}
  1. Skriv en testklasse ved bruk av NUnit:
using NUnit.Framework;

namespace CalculatorTests
{
    [TestFixture]
    public class CalculatorTests
    {
        [Test]
        public void Add_AddsTwoIntegers_ReturnsCorrectSum()
        {
            // Arrange (Forbered)
            var calculator = new Calculator();
            int expected = 5;

            // Act (Utfør)
            int actual = calculator.Add(2, 3);

            // Assert (Bekreft)
            Assert.AreEqual(expected, actual);
        }
    }
}
  1. Kjør testen ved bruk av din IDEs testkjører eller .NET CLI:
dotnet test

Eksempel på utdata:

Forutsatt at testen din passerer, bør du se en utdata som ligner på dette:

Test Run Successful.
Total tests: 1
     Passed: 1
 Total time: 1.2345 Seconds

Bruk av xUnit:

Hvis du foretrekker xUnit, er oppsettet lignende som for NUnit. Her er hvordan du skriver om testeksemplet for Calculator-klassen ved bruk av xUnit:

  1. Installer xUnit og xUnit.runner.visualstudio:
dotnet add package xUnit
dotnet add package xUnit.runner.visualstudio
  1. Skriv en testklasse ved bruk av xUnit:
using Xunit;

namespace CalculatorTests
{
    public class CalculatorTests
    {
        [Fact]
        public void Add_AddsTwoIntegers_ReturnsCorrectSum()
        {
            // Arrange (Forbered)
            var calculator = new Calculator();
            int expected = 5;

            // Act (Utfør)
            int actual = calculator.Add(2, 3);

            // Assert (Bekreft)
            Assert.Equal(expected, actual);
        }
    }
}
  1. Kjør testen ved hjelp av .NET CLI eller din IDEs integrerte testkjører.

Både NUnit og xUnit tilbyr kraftige funksjoner for parametrisert testing, oppsett/nedrivningsoperasjoner, og organisering av tester i kategorier, noe som gjør dem til uunnværlige verktøy i C#-programmererens verktøykasse for å sikre kodekvalitet og funksjonalitet.