NUnit je open-source testovací framework pro všechny .NET jazyky. Patří do rodiny xUnit nástrojů (založených na Smalltalku) a je klíčovým nástrojem pro psaní jednotkových testů a testů řízených daty.
Na rozdíl od xUnit.net, NUnit přistupuje k životnímu cyklu testu odlišně:
—
Aby NUnit rozpoznal kód jako testovací, používá specifické značky:
[TestFixture]
public class CalculatorTests {
private Calculator _calc;
[SetUp]
public void Init() {
_calc = new Calculator();
}
[Test]
public void Add_SimpleValues_ReturnsSum() {
int result = _calc.Add(5, 10);
Assert.That(result, Is.EqualTo(15));
}
}
—
NUnit nabízí dva styly zápisu ověřovacích podmínek:
Starší styl, který je stručný, ale méně čitelný.
Assert.AreEqual(15, result);
Moderní a doporučovaný styl, který se čte jako anglická věta. Používá metodu `Assert.That()`.
Assert.That(result, Is.EqualTo(15));
Assert.That(list, Has.Exactly(3).Items);
Assert.That(name, Does.StartWith("J").And.EndWith("n"));
—
NUnit exceluje v testování různých vstupů pomocí jednoho testu.
[TestCase(1, 2, 3)]
[TestCase(-1, 1, 0)]
[TestCase(10, 20, 30)]
public void Add_MultiData_ReturnsCorrectSum(int a, int b, int expected) {
Assert.That(_calc.Add(a, b), Is.EqualTo(expected));
}
—
| Vlastnost | NUnit | xUnit |
|---|---|---|
| Značení třídy | `[TestFixture]` | Není potřeba |
| Značení testu | `[Test]` | `[Fact]` |
| Příprava dat | `[SetUp]` | Konstruktor třídy |
| Izolace | Sdílená instance třídy | Nová instance pro každý test |
—
Související články:
Tagy: programming dot-net testing nunit unit-test csharp