Я новичок в TDD и ищу варианты для модульного тестирования моего решения Visual Studio 2010. Это решение представляет собой веб-приложение MVC3, в котором я пытаюсь использовать DDD с шаблонами IoC, репозитория и единицы работы. Он также использует EF4 и шаблоны POCO EF4. (Я пытался смоделировать большую часть этого из Microsoft N-layer App , также заимствуя шаблоны проектирования из пары других блогов).
Я искал и читал об этом пару часов, и, кажется, я нахожу противоречивую информацию везде, куда бы я ни обратился. Во многом это связано с появлением старых результатов и расширением возможностей Visual Studio 2010.
Я знаю, что есть несколько вариантов, но, опять же, мне трудно отличить устаревшие варианты от новых, и в ссылках, которые используют люди, есть некоторая двусмысленность. Даже популярное обсуждение здесь содержит некоторую старую / неоднозначную / противоречивую информацию.
Например:
Есть ли разница между MSTest , Visual Studio Framework Unit Testing Framework и Microsoft.VisualStudio.TestTools.UnitTesting
? Если да, то? Кажется, они разные, но в некоторых обсуждениях, которые я видел, на них неправильно ссылались.
Поскольку автор NUnit также является автором xUnit, означает ли это, что xUnit заменяет NUnit, что делает NUnit устаревшим? Кажется, что некоторые даже сегодня предпочитают NUnit. Но если NUnit устарела, зачем сегодня начинать использовать NUnit вместо xUnit? Если NUnit не устарела, значит ли это, что xUnit не взлетает так, как было изначально задумано? Почему автор продолжает поддерживать два, казалось бы, избыточных инструмента?
Что из этого интегрируется в VS2010, не прибегая к отдельному выполнению командных строк для тестирования или приобретая инструменты, такие как TestDriven.Net? (У меня есть ReSharper, хотя, если это поддерживает какой-либо из них.)
Произошли ли в последнее время какие-либо заметные изменения в какой-либо из них, которые могли бы сделать более ранние обсуждения недействительными?
Есть ли какие-либо другие, которые я должен рассмотреть в дополнение к тем, которые я упомянул выше?
Я не обязательно ищу подробное сравнение (хотя вы более чем можете его предоставить, если хотите), но скорее актуальное согласие с текущими инструментами, которые сейчас используются. используется сегодня для новой разработки VS2010.
На первый взгляд, "Visual Studio Unit Testing Framework", кажется, хорошо интегрируется в VS2010 (Pro) из коробки, и, кажется, его легко запустить и запустить быстро, в отличие от некоторых других, даже если это немного раздутый. Но так как я новичок, я не хочу вдаваться в подробности через 3 месяца, а потом понимаю, что загнал себя в угол только потому, что мне казалось, что его легче поднять.
Я также знаю, что этот вопрос для некоторых может считаться "плохим" из-за его открытого и широкого характера, но, хотя это разные вопросы, я чувствую, что все они связаны, и все вытекают из моей общей путаницы из-за неоднозначных и противоречивых моментов, которые я нашел о модульном тестировании в VS2010.
Заранее спасибо.
РЕДАКТИРОВАТЬ: Это должно быть больше обновленной дискуссии почти 10-летней популярной дискуссии , на которую я ссылался выше. В этом обсуждении есть несколько положительных моментов, но за три года многое могло измениться, и мне нравится более актуальная оценка предмета.