Есть ли у 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, а затем выберите Тестировщик.
Ответ 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)