2016-03-12 3 views
0

Я хотел бы знать, что такое «лучшая практика» по категоризации тестов с использованием атрибутов (например, атрибут Category NUnit)?Тестирование категоризации

Вы классифицируете их по функциональному охвату приложения по виду (единичный тест, сквозные тесты, тесты на дым, тесты интеграции и т. Д.), По технической категории (длинный, веб-запрос и т. Д.) Или смесь каждого?

Подводя итог, я не хочу повторно классифицировать тысячи тестов за несколько месяцев, так что лучшая стратегия?

Заранее благодарю вас за ответы!

ответ

5

Вопрос счетчика: почему вы хотите классифицировать тысячи тестов прямо сейчас? Что вы надеетесь достичь. Нет необходимости делать это вообще, если вы не знаете. :-)

Я бы ответил, что категории действительно предназначены для использования разработчиками, потому что они могут легко изменить их в коде, когда им это нужно. Иногда, например, полезно отметить все медленные тесты, чтобы их можно было исключить из прогона. Вы можете отметить все быстрые тесты, но надеется, что их гораздо больше. Аналогичным образом, если вам нужно запускать тесты, когда база данных недоступна, используйте категории для тех тестов, которые ей нужны, если они уже не сгруппированы по пространству имен.

Используйте группировку пространств имен для более постоянной организации тестов. Сила категорий заключается в том, что они пересекают ваше пространство имен и организацию крепежа. Используйте их экономно, когда такая сортировка - это то, что вам нужно, но не создайте жесткую систему категорий.

+0

На самом деле это всего лишь устаревший код без теста, я начинаю писать, поэтому не тысячи на данный момент, но скоро :) –

+0

Категории могут быть полезны для разделения функций ap, при разработке, рефакторинге, исправлении ошибки в функции вы должны сначала запустить эти тесты, чтобы они были в безопасной зоне, прежде чем запускать все тесты, которые могут занять много времени. –

+0

@SlavaShp, я боюсь, что поддерживать эти категории будет сложно. Представьте, что вы добавили категорию для тестов, с которыми вы работаете сейчас, а затем, когда закончите и переместили на другую, вам нужно удалить Категории – Fabio

1

Проведите интеграционный тест в разных проектах. Тесты «WebRequest» - это интеграционные тесты.

Идея категории для групповых испытаний, которую вы можете легко выбрать и запустить.
Или исключить из бега.
Основываясь на том, что испытание в течение длительного времени в той же категории может оказаться полезным.

Большая часть IDE (как минимум, Visual Studio) содержит возможность группировать тесты по классу или по проекту. Поэтому нет необходимости использовать категорию для этого.

Поддержка командной строки консоли NUnit для включения/исключения тестов по категориям, поэтому это может быть полезно при непрерывной доставке.

Смежные вопросы