Как разграничить интеграционные (integration) и модульные (unit) тесты в NUnit? - CodeHelper

Как разграничить интеграционные (integration) и модульные (unit) тесты в NUnit?

2

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

Новые ответы


1

В NUnit используются категории для разграничения тестов. Для определения категории используется атрибут:

[Category("Название категории")]

Соответственно, можно использовать две категории для отделения модульных тестов от интеграционных:

[Category("Unit tests")]

и

[Category("Integration tests")]

Эти атрибуты нужно применить ко всем тестам. Чтобы не копировать текст "Unit tests" и "Integration tests" ко всем классам тестов, обычно создают собственный атрибут, унаследовааный от CategoryAttribute:

using NUnit.Framework;

public class IntegrationAttribute : CategoryAttribute
{
    public IntegrationAttribute() : base("Integration tests")
    {
    }
}

v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.