Qual è l'attributo [fatto]?


88

Sono sicuro che sia semplicissimo, ma chiaramente non sto cercando su Google la cosa giusta. In diversi blog relativi agli unit test, ho visto l'attributo [fatto] assegnato a diversi metodi, ma non riesco a capire cosa significhi. Esempio:

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

    }

    [Fact]
    public void Bar()
    {

    }
}

1
In modo divertente, questa domanda è già la numero 6 nei risultati di Google per "FactAttribute" per me mentre scrivo questo. Ottimo lavoro su Google Juice, StackOverflow!
Chris

Adesso capisco cosa ho sbagliato su Google. Ho pensato che [il fatto] facesse parte del framework di test dello studio visivo, quindi perché non ho ottenuto risultati significativi
jhammond

13
FactAttribute cercato su Google, è finito qui.
James Love,

2
Fatto ... accidenti, perché non chiamarlo TestAttribute? Se le persone hanno bisogno di cercarlo su Google, sai di aver fatto una scelta di denominazione sbagliata: \
Tor Haugen

1
Nel documento GitHub per xUnit viene spiegato l'attributo Fact e come usarlo in un esempio "I fatti sono test che sono sempre veri. Testano condizioni invarianti." xunit.github.io/docs/getting-started-dotnet-core.html
Umpa

Risposte:


92

Appartiene al framework di unit test xUnit.

Dice che il metodo è un test unitario.


1
Grazie, ho pensato che facesse parte del framework di unit test di Visual Studio, ecco perché non ho ottenuto risultati significativi.
jhammond

20
Qual è la differenza tra Fact e Test ?
Lei Yang

23
L'attributo [Fact] viene utilizzato da xUnit Test Framework. L'attributo [Test] viene utilizzato da un altro framework di test. Entrambi contrassegnano la procedura come una prova.
DrKoch

Lo contrassegnano come un "test" in generale o un "test unitario" in particolare? Questo non è chiaro dal commento 14+ votato che dice "Entrambi contrassegnano la procedura come un test".
Triynko
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.