Можно ли провести тестирование контекста / спецификации с помощью MSTest? - PullRequest
1 голос
/ 25 января 2011

Я умеренно новичок в тестировании фреймворков, и я читал о Moq, и в этой вводной публикации использовался способ организации тестов, которого я раньше не видел. Дальнейшие исследования показывают, что мы в мире .Net склонны смешивать термины BDD и тестирование контекста / спецификации (CS). Я не хочу вдаваться в этот аргумент - меня прежде всего интересует достижение этого стиля написания тестовых классов.

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

Эта проблема у меня заключается в том, что я не вижу в MSTest метод экземпляра, который позволял бы инициализировать тестовое устройство только один раз для каждого теста. Лучшее, что я вижу, - это конструктор тестового класса, но это немного не так. В NUnit можно использовать [TestFixtureSetup]. Есть ли эквивалент использования встроенной тестовой среды Visual Studio?

Редактировать Впоследствии я перешел на NUnit, который обеспечивает необходимую мне гибкость.

Ответы [ 2 ]

2 голосов
/ 12 февраля 2011

После некоторых исследований я перешел на использование NUnit. Есть несколько причин, по которым NUnit предпочтительнее, чем MSTest, но в отношении этой конкретной проблемы убедительная причина в том, что единственный общеклассовый метод инициализации, поддерживаемый MSTest (который не выполняется для каждого теста), предназначен для статических методов, которые что я ищу.

Как отмечает Джейсон, [ClassInitialise] обеспечит эту статическую общеклассовую инициализацию в MSTest. На самом деле не существует способа имитации поведения [TextFixtureSetup], обнаруженного в NUnit, такого, чтобы метод экземпляра запускался один раз перед выполнением любого теста в приборе.

1 голос
/ 12 февраля 2011

Чтобы скопировать NUnit [TestFixtureSetUp] для MSTest, попробуйте [ClassInitialize]. Вот ссылка, где я нашел эту информацию. Это еще одна полезная статья в блоге, которая может вам помочь.

...