C#:
Skriva tester
Hur man gör:
C#-utvecklare använder primärt ramverken NUnit eller xUnit för att skriva tester på grund av deras flexibilitet och omfattande funktionssätt. Här är ett grundläggande exempel som använder NUnit för att testa en enkel additionsfunktion:
- Installera NUnit och NUnit3TestAdapter via NuGet Package Manager eller .NET CLI:
dotnet add package NUnit
dotnet add package NUnit3TestAdapter
Skapa ett C#-klassbiblioteksprojekt om du inte redan har gjort det.
Skriv en enkel funktion att testa. Till exempel en additions metod i en klass som heter
Calculator
:
public class Calculator
{
public int Add(int a, int b)
{
return a + b;
}
}
- Skriv en testklass med NUnit:
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);
}
}
}
- Kör testet med din IDE:s testkörare eller .NET CLI:
dotnet test
Exempel på utskrift:
Om ditt test passerar bör du se en utskrift liknande denna:
Test Run Successful.
Total tests: 1
Passed: 1
Total time: 1.2345 Sekunder
Använda xUnit:
Om du föredrar xUnit är inställningen liknande NUnit. Så här skriver du om testexemplet för Calculator
-klassen med xUnit:
- Installera xUnit och xUnit.runner.visualstudio:
dotnet add package xUnit
dotnet add package xUnit.runner.visualstudio
- Skriv en testklass med xUnit:
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);
}
}
}
- Kör testet med .NET CLI eller din IDE:s integrerade testkörare.
Både NUnit och xUnit erbjuder kraftfulla funktioner för parametriserade tester, setup/teardown-operationer och att organisera tester i kategorier, vilket gör dem till oumbärliga verktyg i C#-programmerarens verktygslåda för att säkerställa kodkvalitet och funktionalitet.