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()
    {

    }
}
jhammond
quelle
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.

DrKoch
quelle
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