Как я могу написать модульные тесты .NET? - PullRequest
2 голосов
/ 29 сентября 2008

Как мне написать модульные тесты в .NET?

В частности, Visual Studio 2005?

Ответы [ 8 ]

3 голосов
/ 29 сентября 2008

Если вы выберете NUnit , то было бы неплохо взглянуть на testdriven.net , поскольку он предлагает действительно хорошую интеграцию с Visual Studio. В настоящее время доступно несколько других платформ модульных тестов. Я бы порекомендовал вам рассмотреть xUnit . Я знаю, о чем ты думаешь: «Зачем нужен еще один модуль модульного тестирования?». Это правда, что нет ничего лучше, но все же. Посмотрите на это сообщение в блоге , и если вы решите, что можете использовать ReSharper плагин для интеграции с Visual Studio.

3 голосов
/ 29 сентября 2008

Если вы используете один из продуктов Visual Studio Team Suite, вы ссылаетесь на Microsoft.VisualStudio.TestTools.UnitTesting, украшаете свои тестовые классы атрибутом TestClass и украшаете свои тестовые методы атрибутом TestMethod.

Подход для NUnit аналогичен, за исключением того, что вы ссылаетесь на NUnit.Framework, класс будет украшен TestFixture, а методы тестирования будут украшены Test.

2 голосов
/ 17 октября 2008

Вот основная идея, используя NUnit

Создать тестовый проект.

Ссылка на основной проект для вашего приложения в тестовом проекте.

Создайте тестовый класс в тестовом проекте.

Добавить Imports nunit.Framework

Украсить класс с <TestFixture()>

например. <TestFixture()> Public Class MyTestClass ...

Создайте методы испытаний, каждый из которых отмечен <Test()>, и добавьте свои тесты:

<Test()> _
Public Sub harness()
    Assert.IsTrue(False)
End Sub

Создайте свой тестовый проект. Откройте NUnit и откройте там свой тестовый проект. Нажмите «запустить» Зеленый - пройдено, Красный - неудачно.

Тест «жгута», приведенный выше, просто доказывает, что вы подключили все перед тем, как начинать тестировать свои собственные. Как только он подключен правильно (и вы получаете сбой на тесте), переключитесь на 'true', и NUnit должен показать зеленый.

Отсюда вы начинаете добавлять тесты для своего собственного проекта.

2 голосов
/ 29 сентября 2008

Вы можете использовать один из продуктов Team Suite или использовать сторонние инструменты, такие как NUnit .

1 голос
/ 29 сентября 2008

Существует множество способов написания модульных тестов. Не уверен, спрашиваете ли вы об инструментах для проведения модульного тестирования или задаетесь вопросом о процессе модульного тестирования.

NUnit - популярный инструмент для тестирования. Microsoft MSTest , которую вы можете использовать вместе с продуктами Visual Studio Team Suite, также очень хороша.

Я рекомендую прочитать о непрерывной интеграции, если вы планируете много тестировать.

Что касается написания тестов, то это очень сложная тема для StackOverflow. Я рекомендую прочитать статьи о тестировании. Есть много тем, которые освещают эту тему.

0 голосов
/ 17 октября 2008

SpecUnit является хорошим дополнением к NUnit для модульных тестов в стиле BDD. Мне очень нравится идея иметь тесты в классе, называемом чем-то вроде «When_x_happens», и методы в этом классе описывают ожидаемые результаты для случая, когда происходит x - «foo_should_do_bar ()». SpecUnit также имеет инструмент для генерации отчетов из ваших тестов, который является отличным источником документации.

0 голосов
/ 17 октября 2008

+ 1 на MbUnit и efinetly использовать testdriven.net

я нашел это намного быстрее, особенно для тестов моделей данных

0 голосов
/ 29 сентября 2008

На мой взгляд, MBUnit - это путь. Он значительно превосходит NUnit (очень похож, но с поддержкой Row Tests и Transaction) и другие инструменты MS (Team Suite не был действительно успешным, я бы не рекомендовал его использовать).

MbUnit обеспечивает расширенное модульное тестирование поддержка с помощью современных приспособлений для позволить разработчикам и тестировщикам тестировать все аспекты их программного обеспечения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...