С какой платформы Модульного теста я должен запустить для C# в Visual Studio 2008? (Приложение Windows Forms)

Если Вы открываете файл DMP с редактором, который может обработать большие файлы, Вы могли бы быть в состоянии определить местоположение областей, где названия схемы упоминаются. Просто обязательно не измените что-либо. Было бы лучше при открытии копии исходного дампа.

9
задан Greg 8 October 2009 в 01:55
поделиться

6 ответов

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

Я никогда не использовал это для насмешек, так что, может быть, кто-нибудь еще сможет уточнить это. Он создает отдельный проект в вашем решении, предназначенный только для тестирования. Это хорошее объяснение того, как его использовать.

alt text

Изменить: Покопавшись немного, я наткнулся на это сравнение MSTest и NUnit.

Недостатки NUnit Framework:

  • Установка NUnit выполняется в отдельном MSI.
  • Нет интеграции с Visual Studio. .
  • Требует написания тестовых примеров вручную.
  • Нет автоматического создания кода.
  • Требуется открытие отдельного окна (NUnit Console или GUI) для выполнения тестовых примеров.
  • Порядок выполнения тестовых примеров недоступен.
  • Нет встроенной функции для отладки тестовых примеров.
  • 12146] Нет встроенной функции для включения / отключения тестовых примеров.
  • Нет встроенной функции для предоставления дополнительной информации о тестовых примерах, такой как трассировка стека, информация трассировки и т. Д.
  • Нет встроенной функции для сортировки тестовых примеров на основе имени компьютера, имени класса и тип хоста и т. д.

Это из сравнительной статьи, на которую я ссылался.

Я никогда не использовал NUnit, только MSTest для C # и JUnit для Java, поэтому я предвзято отношусь к этому вопросу. MSTest всегда очень хорошо работал для меня для WinForms , с такими функциями, как возможность запускать тесты индивидуально, показывать действительно подробные отчеты (с отдельными журналами трассировки) и автоматически генерировать весь шаблонный тестовый код и делать все такое. вещей, которые делают VS2008 такой блестящей IDE. Судя по всему, NUnit хорошо зарекомендовал себя другим, и у них есть свои причины, по которым он им нравится.

Если у вас нет особой причины использовать подход NUnit / Testdriven.NET, например, вам нужна определенная функция, или вы просто предпочитаю этот способ настройки тестов и попытки интегрировать его обратно в VS, тогда я не вижу причин не использовать просто MSTest, который работает прямо из коробки.

MSTest всегда очень хорошо работал для меня для WinForms , с такими функциями, как возможность запускать тесты индивидуально, показывать действительно подробные отчеты (с отдельными журналами трассировки) и автоматически генерировать весь шаблонный тестовый код и делать все такое вещей, которые делают VS2008 такой блестящей IDE. Судя по всему, NUnit хорошо зарекомендовал себя другим, и у них есть свои причины, по которым он им нравится.

Если у вас нет особой причины использовать подход NUnit / Testdriven.NET, например, вам нужна определенная функция, или вы просто предпочитаю этот способ настройки тестов и попытки интегрировать его обратно в VS, тогда я не вижу причин не использовать просто MSTest, который работает прямо из коробки.

MSTest всегда очень хорошо работал для меня для WinForms , с такими функциями, как возможность запускать тесты индивидуально, показывать действительно подробные отчеты (с отдельными журналами трассировки) и автоматически генерировать весь шаблонный тестовый код и делать все такое. вещей, которые делают VS2008 такой блестящей IDE. Судя по всему, NUnit хорошо зарекомендовал себя другим, и у них есть свои причины, по которым он им нравится.

Если у вас нет особой причины использовать подход NUnit / Testdriven.NET, например, вам нужна определенная функция, или вы просто предпочитаю этот способ настройки тестов и попытки интегрировать его обратно в VS, тогда я не вижу причин не использовать просто MSTest, который работает прямо из коробки.

показывать действительно подробные отчеты (с отдельными журналами трассировки) и автоматически генерировать весь шаблонный тестовый код и делать все те вещи, которые делают VS2008 такой блестящей IDE. Судя по всему, NUnit хорошо зарекомендовал себя другим, и у них есть свои причины, по которым он им нравится.

Если у вас нет особой причины использовать подход NUnit / Testdriven.NET, например, вам нужна определенная функция, или вы просто предпочитаю этот способ настройки тестов и попытки интегрировать его обратно в VS, тогда я не вижу причин не использовать просто MSTest, который работает прямо из коробки.

показывать действительно подробные отчеты (с отдельными журналами трассировки), автоматически генерировать весь шаблонный тестовый код и делать все те вещи, которые делают VS2008 такой блестящей IDE. Судя по всему, NUnit хорошо зарекомендовал себя другим, и у них есть свои причины, по которым он им нравится.

Если у вас нет особой причины использовать подход NUnit / Testdriven.NET, например, вам нужна определенная функция, или вы просто предпочитаю этот способ настройки тестов и попытки интегрировать его обратно в VS, тогда я не вижу причин не использовать просто MSTest, который работает прямо из коробки.

Если у вас нет особой причины использовать подход NUnit / Testdriven.NET, например, вам нужна определенная функция или вы просто предпочитаете этот способ настройки тестов и попытки интегрировать их обратно в VS, тогда я не буду вижу любую причину не использовать просто MSTest, который работает прямо из коробки.

Если у вас нет особой причины использовать подход NUnit / Testdriven.NET, например, вам нужна определенная функция или вы просто предпочитаете этот способ настройки тестов и попытки интегрировать их обратно в VS, тогда я не вижу любую причину не просто использовать MSTest, который работает прямо из коробки.

5
ответ дан 4 December 2019 в 08:52
поделиться

Вы не упомянули, собираетесь ли вы пройти тест-драйв кода ..

  • Используйте NUnit, если вы не знакомы ни с одной из фреймворков xUnit. Наименьшая кривая обучения. Он существует уже дольше. Чарли Пул активен на NUnit (с открытым исходным кодом) и имеет хорошую историю хороших обновлений.
  • VS2008 имеет встроенный MSTest. Это не то же самое, что NUnit. У меня никогда не было причин переходить с NUnit. Я бы сказал, что у NUnit определенно самая большая база пользователей.
  • В NUnit есть что-то в комплекте для Mocks, но я определенно рекомендую вам Moq . Rhino Mocks уже некоторое время является лидером, но Moq имеет более легкую кривую обучения (из онлайн-документации), хотя он не всегда может обрабатывать пограничные сценарии ... все же IMHO
  • Утверждение исключений поддерживается в

Я бы порекомендовал достать тонкую книгу «Прагматическое модульное тестирование на C # с помощью NUnit» и пройти ее хотя бы один раз.

В строке NUnit v MSTest я не подхожу комментировать. 0 налет с MSTest.

  • Хотя я слышал, что VS2010 будет предлагать такие мелочи, как автоматические отчеты о покрытии кода .. только , если у вас есть тесты MSTest. Но именно такие аргументы я постоянно слышу в пользу MSTests ... больше о поддержке и интеграции IDE. Есть отличные надстройки, такие как Resharper и TestDriven, которые могут исправить это, но по цене.
  • Также ИМХО, Microsoft ' У инструментов модульного тестирования есть тонкий способ вести вас по темному пути. так что будьте осторожны. См. Мой комментарий к Дейлу в этой ветке.
1
ответ дан 4 December 2019 в 08:52
поделиться

Я бы сказал, для простоты, начнем с той, которая встроена в Visual Studio 2008. NUnit фантастический, и я использую его много, так что вы, вероятно, сможете перейти к NUnit, когда освоитесь с письменным устройством тесты.

2
ответ дан 4 December 2019 в 08:52
поделиться

Я бы рекомендовал использовать NUnit для вашей среды тестирования. Он очень легкий и его легко доставить, если вам нужно настроить его на сервере сборки. Это не тот случай, когда используется MSTest. Что касается фреймворков имитации / изоляции, у Rhino Mocks самая большая база пользователей, и вы, вероятно, быстрее всего найдете ответы на свои вопросы с помощью Rhino Mocks.

8
ответ дан 4 December 2019 в 08:52
поделиться

Мы начали с MSTest. У него есть преимущество, которое (мягко) трудно воспроизвести в NUnit. Это позволяет вам получить доступ к закрытым членам класса. Это бесценно, когда вы проверяете состояние. Например, скажем, у меня есть функция, которая помещает записи в словарь, который не отображается. Насколько я понимаю, с NUnit вам нужно использовать отражение, чтобы добраться до словаря, или добавить получатель для единственной цели тестирования. Здесь вы можете просто проверить словарь. Очень просто и очень чисто. Он также позволяет вам тестировать частные функции, что мне нравится (я знаю, что некоторые люди в это не верят). Хотя мне не нравится MSTest, эта функция значительно упрощает тестирование.

Интеграция с VS тоже хороша.

5
ответ дан 4 December 2019 в 08:52
поделиться

Используйте MSTest. Он встроен в VS2008 и имеет поддержку в среде IDE для создания тестовых функций. Если и когда вы «перерастете» MSTest, вам следует обратить внимание на NUnit или более современный xUnit . Вы можете ожидать исключений в MSTest, украсив его атрибутом ExpectedException.

[Test]
[ExpectedException(typeof(ArgumentNullException))]
public void Should_throw_ArgumentNullException_when_the_Order_is_null()
{
    OrderProcessor processor = new OrderProcessor();
    processor.ProcessOrder(null);
}

Фреймворки имитации не зависят от вашего выбора фреймворка тестирования. Популярные варианты фреймворка для фиксации: Moq и Rhino Mocks .

3
ответ дан 4 December 2019 в 08:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: