Что такое контексты в MSTests? - PullRequest
2 голосов
/ 20 июня 2010

Мне постоянно интересно, что такое контексты, когда дело доходит до юнит-тестирования.Кажется, есть 3 варианта выполнения тестов в Visual Studio:

  1. Все тесты в текущем контексте
  2. Все тесты в решении
  3. Все тесты, на которые влияют

Пункт 2) для меня совершенно очевиден, но я не понимаю, что означают пункты 1) и 2).

Спасибо

Ответы [ 3 ]

5 голосов
/ 20 июня 2010
  1. Все тесты в текущем контексте: Текущий контекст зависит от того, где находится ваш курсор. Если он в методе, этот метод теста будет запущен. Если он находится в классе, но не в методе, все методы теста в классе будут выполняться
  2. Все тесты в растворе: Запускает все тесты
  3. Все затронутые тесты: Visual Studio выясняет, какие методы тестирования необходимо запустить, чтобы проверить любые изменения, внесенные в код. Он запускает только те тесты, которые проверяют измененный код. Основным преимуществом этой функции является то, что при наличии большого количества методов тестирования вам не нужно запускать весь набор тестов, который может занять некоторое время. Подробнее об этом вы можете прочитать здесь: http://blogs.msdn.com/b/phuene/archive/2009/12/07/test-impact-analysis-in-visual-studio-2010.aspx
2 голосов
/ 20 июня 2010

Tests in the Current Context : Эта опция работает, если ваш курсор находится внутри метода теста и, если он выбран, будет запускать тест только в границах этого конкретного метода.

All Tests in Solution : Если курсор находится за пределами метода, при выборе этого параметра будут выполняться целые тесты в классе (ах) тестирования.

All Impacted Tests : Не уверен насчет этого, когда я переключился на NUnit в самые первые дни юнит-тестирования.Мой экземпляр Visual studio 2008 также не показывает эту опцию, чтобы я мог проверить, как это будет себя вести.Хотелось бы узнать как-нибудь.

надеюсь, что это поможет

1 голос
/ 20 июня 2010

Я считаю, что «Испытания под воздействием» - это новая функция VS2010.Он будет запускать тесты, "затронутые" последними изменениями в вашем коде.То есть он будет смотреть на то, что тесты, по-видимому, тестируют, и если вы внесли изменения в код, который они тестируют, то это будет затронутый тест.

...