Что такое атрибут [факт]?


88

Я уверен, что это очень просто, но я явно не ищу в Google то, что нужно. В нескольких блогах, связанных с модульными тестами, я видел атрибут [факт], присвоенный нескольким методам, но я не могу понять, что это означает. Пример:

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

    }

    [Fact]
    public void Bar()
    {

    }
}

1
Забавно, что этот вопрос уже занимает 6-е место в результатах Google по запросу "FactAttribute" для меня, когда я пишу это. Отличная работа над соком Google, StackOverflow!
— Крис

Теперь я вижу, что неправильно гуглил. Я предположил, что [факт] был частью тестовой среды Visual Studio, поэтому я не получил каких-либо значимых результатов
— jhammond

13
Погуглил FactAttribute, оказался здесь.
— Джеймс Лав

2
Факт ... боже, почему бы просто не назвать это TestAttribute? Если людям нужно гуглить, знайте, что вы сделали неудачный выбор названия: \
— Tor Haugen

1
В документации GitHub для xUnit объясняется атрибут Fact и его использование в примере: «Факты - это тесты, которые всегда верны. Они проверяют инвариантные условия». xunit.github.io/docs/getting-started-dotnet-core.html
— Umpa

Ответы:


92

Он принадлежит к платформе модульного тестирования xUnit.

В нем написано, что метод является модульным.


1
Спасибо, я предположил, что это часть среды модульного тестирования Visual Studio, поэтому я не получил каких-либо значимых результатов.
— jhammond

20
В чем разница между фактом и тестом ?
— Лэй Ян

23
Атрибут [Fact] используется xUnit Test Framework. Атрибут [Test] используется другой тестовой средой. Оба отмечают процедуру как тест.
— DrKoch

Отмечают ли они его как «тест» в целом или как «модульный тест» в частности? Это не ясно из 14+ комментариев, в которых говорится: «Оба отмечают процедуру как тестовую».
— Трийнко
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.