XUnit — отображение названий тестов для данных участников теории (TestCase)C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 XUnit — отображение названий тестов для данных участников теории (TestCase)

Сообщение Anonymous »

Я использую NUnit для тестирования и мне очень нравятся тестовые примеры. В NUnit вы можете легко установить каждое имя теста в тестовом примере, используя функцию SetName в классе TestCaseData.

Есть ли в xUnit аналогичная функция для этого?

В настоящее время я вижу только один тест в обозревателе тестов, хотя в тестовом наборе 6 тестов.

xUnit-тест

Код: Выделить всё

public class LogHandler : TestBase
{
private ILogger _logger;

public LogHandler()
{
//Arrange
LogAppSettings logAppSettings = GetAppSettings("Log");

IOptions options = Options.Create(logAppSettings);

LogService logService = new LogService(new Mock().Object, options);

LogProvider logProvider = new LogProvider(logService);

_logger = logProvider.CreateLogger(null);
}

public static IEnumerable TestCases => new[]
{
new object[] { LogLevel.Critical,
new EventId(),
new Exception(),
1 },
new object[] { LogLevel.Error,
new EventId(),
new Exception(),
1 },
new object[] { LogLevel.Warning,
new EventId(),
new Exception(),
0 },
new object[] { LogLevel.Information,
new EventId(),
new Exception(),
0 },
new object[] { LogLevel.Debug,
new EventId(),
new Exception(),
0 },
new object[] { LogLevel.Trace,
new EventId(),
new Exception(),
0 },
new object[] { LogLevel.None,
new EventId(),
new Exception(),
0 }
};

[Theory, MemberData(nameof(TestCases))]
public void Test(LogLevel logLevel, EventId eventId, Exception exception, int count)
{
//Act
_logger.Log(logLevel, eventId, null, exception, null);

//Assert
int exceptionCount = Database.Exception.Count();

Assert.Equal(exceptionCount, count);
}
}
Окно тестирования xUnit

Изображение


Здесь должно быть 6 тестов вместо одного! (игнорируйте GetOrganisationStatuses).

Тестовый пример NUnit

Код: Выделить всё

public static IEnumerable TestDatabaseCases
{
get
{
yield return new TestCaseData(LogLevel.Critical,
new EventId(1),
new Exception("Exception"),
0,
1).SetName("InsertException_Should_Insert_When_LogLevel_Critical");

yield return new TestCaseData(LogLevel.Error,
new EventId(1),
new Exception("Exception"),
0,
1).SetName("InsertException_Should_Insert_When_LogLevel_Error");

yield return new TestCaseData(LogLevel.Warning,
new EventId(1),
new Exception("Exception"),
0,
0).SetName("InsertException_Should_Not_Insert_When_LogLevel_Warning");

yield return new TestCaseData(LogLevel.Information,
new EventId(1),
new Exception("Exception"),
0,
0).SetName("InsertException_Should_Not_Insert_When_LogLevel_Information");

yield return new TestCaseData(LogLevel.Debug,
new EventId(1),
new Exception("Exception"),
0,
0).SetName("InsertException_Should_Not_Insert_When_LogLevel_Debug");
}
}
Окно NUnit-теста

Изображение


Это то, что я хочу от xUnit!

Как в xUnit задать имя для каждого теста в тестовом наборе?

Подробнее здесь: https://stackoverflow.com/questions/467 ... a-testcase
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Данные, подобные теории XUnit, на уровне класса, а НЕ метода.
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Выполнить тесты на XUNIT в теории последовательно (не параллельно)
    Anonymous » » в форуме C#
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Выполнить тесты на XUNIT в теории последовательно (не параллельно)
    Anonymous » » в форуме C#
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • «Не найдено тестов для запуска» Тест Xunit не обнаружен в обозревателе тестов Visual Studio 2022
    Anonymous » » в форуме C#
    0 Ответы
    40 Просмотры
    Последнее сообщение Anonymous
  • Исправление участников событий/онлайн-встреч не удаляет всех участников
    Anonymous » » в форуме C#
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»