Подходы, такие как [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 фреймворки для модульного тестирования поддерживают что-то подобное?