Тестирование модулей в Visual С# 2010 Express?

Есть ли у Visual С# 2010 Express функция модульного тестирования?

Ответ 1

Как уже было сказано, версии Express не имеют встроенных функций и не допускают надстройки для этой функции, но вы можете использовать внешний инструмент, например. NUnit.

Вы также можете настроить команду для запуска из меню "Инструменты- > Внешние инструменты" из Visual Studio Express и запустить свой тестовый бегун, если хотите.

Здесь - ссылка, которая показывает, как это сделать с VS С# 2008 Express, (прокрутите вниз до конца), но Я думаю, что это должно быть справедливым и в 2010 году.

Вот новая рабочая ссылка.

Ответ 2

Ничего не встроено, но вы всегда можете использовать nUnit с ним.

MSTest поставляется в комплекте с версией Pro и выше.

Ответ 3

В 2010 году это возможно с помощью внешнего приложения, однако отладка модульных тестов становится затруднительной. Если вы хотите, чтобы отладка с использованием NUnit, вероятно, была лучшим маршрутом (но не единственным вариантом, см. ExpressUnit). См. этот ответ на другой поток SO. Он ссылается на blog, в котором упоминается запуск тестового проекта в качестве консольного приложения и вызов DLL библиотеки nunit для запуска тестов:

using System;

namespace RunTests
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            var args = new string[] { Assembly.GetExecutingAssembly().Location, "/run" };
            NUnit.Gui.AppEntry.Main(args);
        }
    }
}

Ответ 4

У выпусков Visual Studio Express есть ограничение, которое плагины/дополнения явно запрещены. Они не поставляются со встроенным тестовым решением, и вы не можете добавить его в один.

Ваш лучший/единственный вариант - использовать автономный тестовый бегун, такой как nUnit, mspec и т.д.... и запускать его извне с VSE.

Ответ 5

Это теперь включено в Visual Studio 2013 Express: http://msdn.microsoft.com/en-us/library/dd264975.aspx

Если Проводник тегов не отображается, выберите Тест на Visual Studio, выберите Windows, а затем выберите Тестировщик.

enter image description here

Ответ 6

Посмотрите NHarness на codeplex - очень простую библиотеку, которая позволяет запускать контрольные приборы NUnit в тестовом проекте. Это позволяет вам отлаживать ваши модульные тесты, если требуется

Пример (со страницы codeplex) тестового бегуна ниже

    public class RunTests
    {
        public static void Main(string[] args)
        {
            TestResults results = Tester.RunTestsInClass<Tests>();

            Console.WriteLine("Tests Run: {0}", results.NumberOfResults);
            Console.WriteLine("Results {0}:PASSED {1}:FAILED", results.NumberOfPasses, results.NumberOfFails);
            Console.WriteLine("Details:");

            foreach (TestResult result in results)
            {
                Console.WriteLine("Test {0}: {1} {2}",
                                            result.MethodName,
                                            result.Result,
                                            result.Result == TestResult.Outcome.Fail ? "\r\n" + result.Message : "");
            }

            Console.ReadLine();
        }
    }

Преимущество этой библиотеки в том, что класс TestResults может использоваться для извлечения информации о выполненных тестах, поэтому библиотека также может использоваться в пользовательских unit test приложениях

Ответ 7

Вы всегда можете настроить дополнительный класс с помощью метода Main() в проекте и выбрать его как объект запуска в своем проекте и отладить его оттуда. Возможно, это не подходит в ситуации, когда выполняются более сложные задачи, поскольку вы не можете использовать преимущества более специфичных для тестирования функций, но это может быть полезно в некоторых более простых проектах. Если ваш проект представляет собой библиотеку классов, подумайте о его преобразовании в консольное приложение и затем верните его, когда закончите тестирование.

Ответ 8

(Примечание: я знаю, что этот пост старый, но это может помочь кому-то)

Как сказал Энди выше, вы можете использовать NUnit.
Но настройки в ссылке, размещенной Энди, больше не работают в VS С# 2010.
Вот настройки, которые я использую в окне "Внешние инструменты":

Команда: C:\Program Files (x86)\NUnit 2.6.2\bin\nunit-x86.exe
(в каталоге bin также есть nunit.exe)

Аргументы: $(ProjectDir) $(ProjectFileName)
Начальная директория: $(ProjectDir) bin/Debug/$(TargetName) $(TargetExt)