Платформа тестирования C# с настраиваемыми параметрами во время выполнения?C#

Место общения программистов C#
Ответить
Anonymous
 Платформа тестирования C# с настраиваемыми параметрами во время выполнения?

Сообщение Anonymous »

У меня есть множество библиотек фикстур на C#, и теперь я хочу использовать их для интеграционных тестов продукта. У меня больше всего опыта использования xunit.
Цель этого вопроса состоит в том, что существует несколько транспортов для настройки этого продукта, но метод тот же, поэтому общение абстрагируется до интерфейса, который конкретные транспорты реализуются для связи этой библиотеки с физическим устройством.
Параметризация необходима для:
  • Передачи транспортный объект для этого теста

    Цель этого — написать один тест, а затем параметризовать, какой транспорт мы тестируем.
[*]Адрес устройств на шине

Мой текущий подход заключается в написании теста, а затем используйте встроенные данные, чтобы указать тип транспорта

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

[Theory]
[InLineData(new TransportA())]
[InLineData(new TransportB())]
public void Test(ITransport transport)
{
// Test
}
Однако я больше ищу совершенно отдельные пространства имен, чтобы существовали TransportA.TestA и TransportB.TestA, где TestA — это один и тот же код. Сначала я думал сделать это абстрактным классом, а затем у Transports был конкретный тестовый класс, но я не был уверен, как xunit будет обрабатывать тестовые атрибуты, которые он не может запустить?
Вдобавок к проблеме транспорта это адрес шины, который я не могу решить. В этом запуске мы можем тестировать адрес 0, но затем мы можем протестировать адрес 1? Возможно ли это для параметра конфигурации времени выполнения? Моим решением была конфигурация json, которую тесты загружали бы с такими параметрами времени выполнения.

Подробнее здесь: https://stackoverflow.com/questions/783 ... ble-params
Ответить

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

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

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

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

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