Co to jest atrybut [fakt]?


85

Jestem pewien, że to bardzo proste, ale najwyraźniej nie szukam w Google właściwej rzeczy. W kilku blogach poświęconych testom jednostkowym widziałem atrybut [fakt] przypisany kilku metodom, ale nie mogę zrozumieć, co to oznacza. Przykład:

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

    }

    [Fact]
    public void Bar()
    {

    }
}

1
Zabawne, że to pytanie jest już na szóstym miejscu w wynikach Google dla „FactAttribute”, gdy to piszę. Dobra robota w Google Juice, StackOverflow!
Chris,

Widzę, co źle wpisałem w Google. Założyłem, że [fakt] był częścią struktury testów Visual Studio, dlatego nie uzyskałem żadnych znaczących wyników
jhammond,

13
Wygooglowałem FactAttribute, znalazłem się tutaj.
James Love

2
Fakt ... Jezu, czemu nie nazwać tego po prostu TestAttribute? Jeśli ludzie chcą to wygooglować, wiesz, że dokonałeś złego wyboru nazwy: \
Tor Haugen

1
W dokumencie GitHub dla xUnit wyjaśniono atrybut Fakt i sposób jego użycia w przykładzie „Fakty to testy, które zawsze są prawdziwe. Testują niezmienne warunki”. xunit.github.io/docs/getting-started-dotnet-core.html
Umpa

Odpowiedzi:


89

Należy do frameworka testów jednostkowych xUnit.

Mówi, że metoda jest testem jednostkowym.


1
Dzięki, założyłem, że to część frameworka testów jednostkowych Visual Studio, dlatego nie uzyskałem żadnych znaczących wyników.
jhammond

19
Jaka jest różnica między faktem a testem ?
Lei Yang

22
Atrybut [Fact] jest używany przez platformę testową xUnit. Atrybut [Test] jest używany przez inną strukturę testową. Obaj oceniają procedurę jako test.
DrKoch

Czy oznacza to ogólnie jako „test”, czy konkretnie jako „test jednostkowy”? Nie wynika to jasno z komentarza, który głosował za 14+, który mówi: „Obaj oceniają procedurę jako test”.
Triynko
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.