Parametrierung im Test xUnit.net ähnlich wie NUnit

Sind es bedeutet in xUnit.net Rahmen ähnlich der folgenden Funktionen von NUnit?

[Test, TestCaseSource("CurrencySamples")]
public void Format_Currency(decimal value, string expected){}

static object[][] CurrencySamples = new object[][]
{
    new object[]{ 0m, "0,00"},
    new object[]{ 0.0004m, "0,00"},
    new object[]{ 5m, "5,00"},
    new object[]{ 5.1m, "5,10"},
    new object[]{ 5.12m, "5,12"},
    new object[]{ 5.1234m, "5,12"},
    new object[]{ 5.1250m, "5,13"}, //round
    new object[]{ 5.1299m, "5,13"}, //round
}

Generiert diese 8 separate tests in NUnit-GUI

[TestCase((string)null, Result = "1")]
[TestCase("", Result = "1")]
[TestCase(" ", Result = "1")]
[TestCase("1", Result = "2")]
[TestCase(" 1 ", Result = "2")]
public string IncrementDocNumber(string lastNum) { return "some"; }

Generiert 5 separate tests und automatisch vergleichen Sie die Ergebnisse (Assert.Equal()).

[Test]
public void StateTest(
    [Values(1, 10)]
    int input,
    [Values(State.Initial, State.Rejected, State.Stopped)]
    DocumentType docType
){}

Generiert diese 6 kombinatorische tests. Unbezahlbar.

Paar Jahren habe ich versucht, xUnit und liebte es, doch es fehlte diesen Funktionen. Kann nicht ohne Sie Leben. Hat sich etwas geändert?

InformationsquelleAutor der Frage UserControl | 2012-02-02

Schreibe einen Kommentar