¿Qué es el atributo [hecho]?

85

Estoy seguro de que esto es muy simple, pero claramente no estoy buscando en Google lo correcto. En varios blogs relacionados con pruebas unitarias, he visto el atributo [hecho] otorgado a varios métodos, pero parece que no puedo entender lo que esto significa. Ejemplo:

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

    }

    [Fact]
    public void Bar()
    {

    }
}
Jhammond
fuente
1
Curiosamente, esta pregunta ya es la número 6 en los resultados de Google para "FactAttribute" para mí mientras escribo esto. Buen trabajo en el jugo de Google, StackOverflow!
Chris
Ahora veo lo que busqué mal en Google. Supuse que [hecho] era parte del marco de prueba de Visual Studio, por lo que no obtuve ningún resultado significativo
jhammond
13
FactAttribute buscado en Google, terminó aquí.
James Love
2
Hecho ... Dios, ¿por qué no llamarlo TestAttribute? Si la gente necesita buscarlo en Google, sabrá que ha elegido mal el nombre: \
Tor Haugen
1
En el documento de GitHub para xUnit, explica el atributo Fact y cómo usarlo en un ejemplo "Los hechos son pruebas que siempre son verdaderas. Prueban condiciones invariantes". xunit.github.io/docs/getting-started-dotnet-core.html
Umpa

Respuestas:

89

Pertenece al marco de pruebas unitarias xUnit.

Dice que el método es una prueba unitaria.

DrKoch
fuente
1
Gracias, asumí que era parte del marco de pruebas unitarias de Visual Studio, por lo que no obtuve ningún resultado significativo.
jhammond
19
¿Cuál es la diferencia entre hecho y prueba ?
Lei Yang
22
El atributo [Fact] es utilizado por xUnit Test Framework. El atributo [Prueba] lo utiliza otro marco de prueba. Ambos marcan el procedimiento como prueba.
DrKoch
¿Lo marcan como una "prueba" en general, o una "prueba unitaria" específicamente? Esto no está claro a partir del comentario de más de 14 votos a favor que dice "Ambos marcan el procedimiento como una prueba".
Triynko