Was ist das Attribut [fact]?


84

Ich bin mir sicher, dass das super einfach ist, aber ich google eindeutig nicht das Richtige. In mehreren Blogs zum Thema Unit-Test habe ich das Attribut [fact] für verschiedene Methoden gesehen, aber ich kann anscheinend nicht herausfinden, was dies bedeutet. Beispiel:

public class SomeClass
{
    [Fact]
    public void Foo()
    {

    }

    [Fact]
    public void Bar()
    {

    }
}

1
Amüsanterweise ist diese Frage für mich bereits die Nummer 6 in den Google-Ergebnissen für "FactAttribute", während ich dies schreibe. Gute Arbeit auf dem Google-Saft, StackOverflow!
— Chris

Ich sehe, was ich jetzt falsch gegoogelt habe. Ich nahm an, dass [fact] Teil des Visual Studio-Test-Frameworks war, weshalb ich keine aussagekräftigen Ergebnisse erhielt
— jhammond

13
Googled FactAttribute, landete hier.
— James Love

2
Fakt ... Herrgott, warum nennst du es nicht einfach TestAttribute? Wenn Leute es googeln müssen, wissen Sie, dass Sie eine schlechte Namenswahl getroffen haben: \
— Tor Haugen

1
Im GitHub-Dokument für xUnit wird das Fact-Attribut und seine Verwendung in einem Beispiel erläutert. "Facts sind Tests, die immer wahr sind. Sie testen invariante Bedingungen." xunit.github.io/docs/getting-started-dotnet-core.html
— Umpa

Antworten:


87

Es gehört zum xUnit Unit Testing Framework.

Es heißt, dass die Methode ein Unit-Test ist.


1
Vielen Dank, ich habe angenommen, dass es Teil des Visual Studio-Unit-Test-Frameworks ist, weshalb ich keine aussagekräftigen Ergebnisse erhalten habe.
— Jhammond

18
Was ist der Unterschied zwischen Fakt und Test ?
— Lei Yang

22
Das Attribut [Fact] wird von xUnit Test Framework verwendet. Das Attribut [Test] wird von einem anderen Testframework verwendet. Beide markieren das Verfahren als Test.
— DrKoch

Markieren sie es als "Test" im Allgemeinen oder als "Komponententest" im Besonderen? Dies geht nicht aus dem über 14-jährigen Kommentar hervor, der besagt: "Beide markieren das Verfahren als Test".
— Triynko
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.