2016-03-28 3 views
0

В настоящее время я работаю с вспомогательным пакетом для тестирования вспомогательных модулей, который потребляется несколькими внутренними проектами. До недавнего времени это решение работало хорошо для нас и помогает нам следовать принципам DRY для общих методов поддержки тестирования. К сожалению, этот проект в настоящее время привязан к nUniut, и мы только что унаследовали некоторые тестовые проекты xUnit, которые могли бы извлечь выгоду из этого помощника. Это становится проблемой, так как каждая структура тестирования, как представляется, управляет утверждениями и часами для разных исключений, чтобы показать отказ теста.Как сделать утверждения модульного теста в единичной тестовой структуре агностическим способом

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

Существует ли подходящий способ для подтверждения или отклонения утверждений без прямой зависимости от схемы тестирования, которая может быть использована соответствующим тестовым бегуном? Или пользовательский адаптер должен быть создан для каждой модульной тестовой среды, чтобы мои вспомогательные классы не были свободны от такой прямой зависимости от платформы тестирования модулей тестирования?

+0

https://msdn.microsoft.com/en-us/library/system.diagnostics.debug.assert%28v=vs.110%29.aspx –

+0

Если я не понял его использование, различные методы Debug.Assert применимые в среде отладки, и отличаются от утверждений модульных тестов. – rheone

+0

любое утверждение единицы измерения может быть преобразовано в boolean –

ответ

0

Вам нужно будет создать интерфейс и реализовать его в отдельном адаптере для каждого фреймворка. Результирующий набор функций будет самым низким общим знаменателем всех поддерживаемых вами фреймворков.

Я предполагаю, что это будет удовлетворять только людей, которые являются настоящими послушниками. Это означало бы, что вы не смогли бы воспользоваться расширенными функциями повышения производительности, которые существуют как в NUnit, так и в XUnit в несовместимой форме.

Вы должны спросить себя, является ли однородность действительно такой ценной.

 Смежные вопросы

  • Нет связанных вопросов^_^