2009-11-17 2 views
4

Мы думаем о переносе наших тестов с MSTest на XUnit.Миграция с MSTest на XUnit

Есть ли приложение миграции, которое принимает MSTest и переносит его на XUnit?

Кроме того, если нет, то на что я должен обратить внимание при выполнении этого?

Спасибо. JD.

+0

Сколько? Это очень помогает, поскольку совет по 5000 тестов в 500 файлах будет отличаться, если у вас есть <100. –

+0

На данный момент это всего лишь 500 тестов. –

+0

Если не сикрет, в чем причина? –

ответ

3

я переехал довольно много тестов в последнее время. Это зависит от того, сколько и каких типов тестов вы переводите, и вы не убили себя, давая нам подробности. В целом, я думаю, что можно с уверенностью предположить, что ваш средний магазин MSTest не будет массово Test Infected и, следовательно, не будет погружен в каждый темный угол MSTest.

Все методы Assert.* и основные тестовые атрибуты просты в поиске и замене. Чем более редкие, я, как правило, направляю себя на оценку каждого случая индивидуально. Если вы уже не эксперт xUnit.net, у вас есть много возможностей для изучения, и это поможет вам.

Кроме того, использование Assert.Fail не является простым преобразованием. Другое дело - преобразование TestClassInitialize в IUseFixture - простое, но трудно автоматизированное.

Если люди используют тестовые ссылки, вы не сможете удалить ссылку на сборку MSTest (и вам все равно нужно будет иметь VS на сервере сборки), и она будет продолжать беспорядочно терпеть неудачу на Shadow taks, см. мои вопросы).

Самая большая ручная работа для меня проходила через 20 строк шаблона в области вверху, чтобы увидеть, действительно ли кто-то использовал какие-либо пользовательские атрибуты перед их удалением.

Главное, что было бы много работы, если бы не шаблон CodeRush конвертировал ExpectedException в Assert.Throws. Если вы не получили CodeRush или ReSharper на этом задании, вы бы украли деньги у своего работодателя.

+0

У нас около 500 тестов около 200 файлов. Раньше я не использовал XUnit, я просто видел хорошие отзывы об этом и тот факт, что XUnit создан разработчиками NUnit, я думал, что это будет путь. Поскольку я только написал несколько тестов, у меня нет всех подробностей всех других тестов. –

+2

@JD: xUnit.net, безусловно, стоит того, что я нахожу в своем опыте - это заставляет вас писать лучше, короче, чище тестов. Если вы прочтете книгу Ошерове и xUnit Test Patterns, вы оцените ее еще больше по сравнению с другими структурами. У меня был только хороший опыт в моем взаимодействии с командой (с точки зрения ответа на запросы разумные, своевременные и т. Д.). 500 тестов находятся в сфере того, что я переехал. Что вы планируете для бегунов и т. Д.? @ Другие: кто-нибудь еще получил опыт переноса/ловушки? –

+0

@Ruben. Благодарю. Идея состоит в том, чтобы включить тесты в CruiseControl (msTest потребовал бы установки VS, и мы не хотели этого делать). У нас есть решения на наших машинах разработки. В течение следующих нескольких недель я обязательно посмотрю xUnit. Можете ли вы порекомендовать любой хороший учебник/видео и т. Д. Еще раз спасибо. –

1

Рассмотрим Compare MSTest and xUnit

+1

@JD - обратите внимание, что было бы проще перейти от MSTest к NUnit или MbUnit, как ясно показывает ссылка г-на Чалия. Если вашей основной целью является переход от MSTest, это может быть лучший выбор. Если вы согласны с философией xUnit.net, неважно. :) – TrueWill

+0

@TrueWill: Хотя я бы не стал стоять рядом, говоря «Что случилось с MSTest», я бы увидел переход на NUnit или MbUnit как боковое движение - в конце дня MSTest в значительной степени получил один -to-one для NUnit, и вы не получили много, за исключением множества атрибутов MbUnit (если вы считаете, что это «выигрыш»). –

+0

Спасибо, ребята, Как я уже упоминал ниже, я раньше не использовал xUnit, а перенос 500 тестов может быть слишком большой задачей. Я сейчас перейду в NUnit, а затем надеюсь, что новые проекты будут рассмотрены в xUnit philosphy. –

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