Qual é o atributo [fato]?


88

Tenho certeza de que isso é super simples, mas claramente não estou pesquisando a coisa certa no Google. Em vários blogs relacionados a testes de unidade, vi o atributo [fato] dado a vários métodos, mas não consigo descobrir o que isso significa. Exemplo:

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

    }

    [Fact]
    public void Bar()
    {

    }
}

1
Curiosamente, esta questão já é a número 6 nos resultados do Google para "FactAttribute" para mim enquanto escrevo isto. Bom trabalho no google juice, StackOverflow!
Chris

Eu vejo o que eu pesquisei de errado agora. Presumi que [fato] fazia parte da estrutura de teste do estúdio visual, por isso não
obtive

13
Pesquisei FactAttribute e acabei aqui.
James Love

2
Fato ... caramba, por que não chamá-lo de TestAttribute? Se as pessoas precisarem pesquisar no Google, você sabe que fez uma escolha ruim de nomenclatura: \
Tor Haugen

1
No documento do GitHub para xUnit, ele explica o atributo Fact e como usá-lo em um exemplo "Os fatos são testes que são sempre verdadeiros. Eles testam condições invariáveis." xunit.github.io/docs/getting-started-dotnet-core.html
Umpa

Respostas:


92

Ele pertence à estrutura de teste de unidade xUnit.

Diz que o método é um teste de unidade.


1
Obrigado, presumi que fosse parte da estrutura de teste de unidade do Visual Studio, por isso não obtive resultados significativos.
jhammond

20
Qual é a diferença entre fato e teste ?
Lei Yang de

23
O atributo [Fact] é usado pelo xUnit Test Framework. O atributo [Test] é usado por outra estrutura de teste. Ambos marcam o procedimento como um teste.
DrKoch de

Eles o marcam como um "teste" em geral ou um "teste de unidade" especificamente? Isso não fica claro no comentário em mais de 14 votos que diz "Ambos marcam o procedimento como um teste".
Triynko
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.