Есть ли способ динамически создавать / log. NET результаты модульного тестирования, кроме интерфейсов, таких как DataTestMethod? - PullRequest
0 голосов
/ 14 февраля 2020

Подходы, такие как [DataTestMethod] и [DynamicData] для MSTEST v2, позволяют мне создавать более динамически управляемые тесты. Они разбивают создание аргументов теста и запуска теста. И через делегатов я могу сделать что-то динамическое c. https://www.meziantou.net/mstest-v2-data-tests.htm имеет хороший обзор этого подхода.

Но этот подход требует разработки тестового кода для этой инфраструктуры. У меня есть существующий набор тестов с собственным модулем запуска и настраиваемым отображением результатов, который я также хотел бы запустить через инфраструктуру модульного тестирования на сервере CI. Я бы предпочел просто оставить работника API для этого «как есть» и просто вставить некоторый код при запуске, чтобы указать, что «тест» пройден или не пройден. Так что-то вроде:

[DynamicTestMethod]
public void Test_It()
{
   // run some existing test code
}

И в этом существующем коде я мог бы просто вставить вызовы вроде:

LogTestPass("test label")
LogTestFail("test label", "reason")

Когда LogTestPass () или аналогичный вызывается вне платформы модульного тестирования, выполняющей его, это не будет иметь никакого эффекта.

Я не привязан к какой-либо конкретной инфраструктуре тестового блока. Какие-нибудь. NET фреймворки для модульного тестирования поддерживают что-то подобное?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...