В xUnit.net можно ли запускать тесты по порядку?

Я знаю, что обычно вы не должны зависеть от порядка ваших модульных тестов, но в xunit возможно ли заставить ваши тесты выполняться в определенном порядке?


person Lance Fisher    schedule 08.08.2009    source источник
comment
Отвечает ли это на ваш вопрос? Как установить последовательность тестовых случаев в xUnit   -  person Matt    schedule 28.01.2021


Ответы (3)


В нашем проекте Samples есть образец с именем PrioritizedFixtureSample, который позволяет вам управлять порядком тестов.

См. примеры в нашем последнем выпуске: https://xunit.net/#releases.

person Brad Wilson    schedule 09.08.2009
comment
Короче говоря, второй параметр атрибута метода [Fact] называется TestPriority, который сам по себе принимает целое число (со знаком), представляющее порядок тестов. Экспонат А: [Fact, TestPriority(5)]. На всякий случай, если вы не хотите скачивать и загружать пример проекта... - person Kezzer; 23.01.2012
comment
Fact больше не имеет свойства TestPriority. - person Fitzchak Yitzchaki; 19.04.2012
comment
Я не думаю, что это когда-либо было в самом xUnit, посмотрите образец, упомянутый Брэдом, там есть код атрибута. - person ; 19.06.2012
comment
Я также создал версию, которая выполняет модули в алфавитном порядке. И также использует PriorityFixtures. Таким образом, вы можете определить точный порядок - если это необходимо. (Порядок классов посредством именования, например TestCase01, TestCase02, ...) display-list-matching-execution-order/" rel="nofollow noreferrer">andreas-reiff.de/2012/06/ , аналогичный вопрос и похожие ответы см. на stackoverflow.com/questions /9210281/ . - person Andreas Reiff; 23.01.2013
comment
[TestPriority] НЕ ЯВЛЯЕТСЯ частью xUnit. См. ссылки, предоставленные @AndreasReiff, для примеров реализации. - person Chris Marisic; 09.09.2014

Нет, я так не думаю, но модульные тесты по определению должны быть независимыми, поэтому порядок не должен иметь значение. Если у вас есть естественная зависимость, которую вы не можете разделить, я бы посоветовал вам объединить тесты в один блок с несколькими утверждениями.

person annakata    schedule 08.08.2009

xUnit.net не позволяет заказывать тесты.

Однако некоторые другие фреймворки это делают. Например, в mbUnit к атрибутам теста можно прикрепить свойство Order. . Многие сторонники TDD считают, что это злоупотребление, и любой тест, требующий порядка, должен быть объединен в отдельный модульный тест, но многие люди считают полезной возможность упорядочивать тесты в определенных обстоятельствах.

person Reed Copsey    schedule 08.08.2009