2010-02-14 5 views
65

Я задавался вопросом, какой модуль тестирования модулей будет хорошим, чтобы получить действительно знакомый? Я знаю, что это может быть вопрос мнения, но я думал, что я все равно спрошу. Я знаю, что мне нужно будет сделать это когда-нибудь, чтобы я мог научиться его использовать. Я знаю, что там немало, но какая из них эффективна для разработки C#?Какая схема тестирования модулей?

От this вопрос Я вижу, что модульное тестирование необходимо, но лично я его не использовал. Поэтому я задаю этот вопрос.

+0

Это действительно плохой вопрос и должен быть закрыт как S & A. Кроме того, он не содержит хороших ответов, кроме «эй, я использую xyz, и это действительно здорово», и это не ценный ресурс для всех, кто ищет сравнение существующих фреймворков. –

+0

http://stackoverflow.com/questions/261139/nunit-vs-mbunit-vs-mstest-vs-xunit-net – nawfal

+0

Я считаю, что это одна из основных проблем с людьми, с которыми я общаюсь с этим сайтом. У вас есть эти строгие правила о задании вопросов, которые подвергаются бомбардировке троллей-респондентов, люди просто хотят задать честный вопрос и получить хороший ответ.Если вы собираетесь заботиться о каждом вопросе, возможно, вместо того, чтобы отвергать плохие ответы, и позволить людям учиться на этом сайте сообществу целостно, как они хотят. это не может быть в первый раз, и количество раз, когда люди задают вопросы, не может быть таким маленьким. Так что работайте лучше, чтобы решить эту проблему, а затем запретить людям задавать вопросы в течение 6 месяцев. – Rob

ответ

39

Я бы пошел с NUnit.

Некоторые ссылки: NUnit QuickStart, NuGet Package

+3

ReSharper дает интеграцию с интегрированной интегрированной интегрированной средой NUnit (плюс еще много преимуществ). – TrueWill

48

Лично я предпочитаю Visual Studio Unit Testing Framework, по двум основным причинам:

  • Он интегрируется с IDE;
  • Это одна программа для развертывания в среде dev.

Сказав это, в значительной степени любая платформа тестирования модулей будет делать трюк, важно иметь тесты!

+10

Недостатком этого является то, что вашему TFS нужна лицензия VS, если вы хотите (вы делаете!) Непрерывную интеграцию, которая запускает тесты. Это может быть проблемой для крупных магазинов или партнеров, но, по крайней мере, это еще одна вещь, которую нужно учитывать. – mbx

+5

NUnit теперь поддерживает интеграцию с интегрированной средой без необходимости развертывания (при использовании NuGet). –

+1

@mbx - для агентов сборки TFS не требуется лицензия VS. – Spivonious

32

Не застревайте при выборе каркаса. Просто выберите один и начните тестирование - они не такие разные. Когда вы на какое-то время написали тесты, вы будете знать, что искать, в соответствии с вашими потребностями.

Лично я нашел xUnit, Testdriven.Net и Moq, чтобы быть очень гибким набором инструментов для тестирования.

Также см этого поста: NUnit vs. MbUnit vs. MSTest vs. xUnit.net

+1

+1 для Moq! Любите эти рамки. – TrueWill

0

Есть несколько причин для тестирования, таким образом, несколько испытательных сред. Кроме того, есть уровни тестирования, такие как простые, заглушки и макеты. Например, вы можете протестировать поведение, а не состояние.

Что касается функции, я обычно использую встроенную в Visual Studio установку, добавляю ссылку на DLL NUnit и меняю аннотации C# на NUnit. Это связано с тем, что мне нравится тестировать вне Visual Studio, особенно когда в моей команде участвуют другие (и мы еще не покупали командный выпуск VS).

2

Я использую NUnit для платформы тестирования и ReSharper для ее интеграции в VS (и все остальное, что делает ReSharper).

+1

Отражатель или ReSharper? – TrueWill

+1

Yikes. ReSharper. Исправлено, спасибо. –

1

Использование MbUnit (с Gallio), NUnit, MsTest или xUnit. Вы можете комбинировать несколько модульных тестов. Я использую NUnit для TDD

+0

Это не работает с VS2015 – sweetfa

5

Я решил придерживаться NUnit, потому что ReSharper предоставляет встроенную поддержку IDE (что экономит много времени). Он также поддерживается TeamCity в запуске и предоставлении отчетов о автоматизированных тестах.

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