TDD (Test-Driven Development) в C#

TDD (разработка через тестирование) — это методология разработки, при которой сначала пишутся тесты, а затем код, проходящий эти тесты.

Основные этапы TDD

  1. Написание теста. Создаётся юнит-тест, описывающий желаемое поведение кода. Новый тест изначально должен завершиться с ошибкой, так как соответствующая функциональность ещё не реализована.
  2. Реализация кода. Разработка функционала, необходимого для успешного прохождения теста.

Пример TDD в C#

Пример демонстрирует создание простого калькулятора с использованием xUnit:

Написание теста

using Xunit;

public class CalculatorTests
{
    [Fact]
    public void Add_ReturnsCorrectSum()
    {
        var calculator = new Calculator();
        int result = calculator.Add(2, 3);
        Assert.Equal(5, result);
    }
}

При первом запуске тест завершится с ошибкой, так как класс Calculator и метод Add ещё не реализованы.

Реализация кода

public class Calculator
{
    public int Add(int a, int b)
    {
        return a + b;
    }
}

Теперь тест успешно проходит, подтверждая корректность работы метода.