Новые возможности Visual Studio 2017

в 14:54, , рубрики: .net, C#, Visual Studio, метки: , ,

Доброго времени суток. Как известно, 7 марта 2017 года вышла новая версия крайне мощной и удобной среды разработки Visual Studio.

Для начала стоит отметить рассказать о процессе установки Visual Studio 2017. Разработчики постарались и сделали вполне приятный и интуитивно-понятный установщик. Там же можно удалить или изменить установленный продукт. Все компоненты сгруппированы по логике.

image

Теперь об интересном. Вижла всегда была довольно объемной и громоздкой программой. Это, собственно, не является чем-то удивительным, зная всю ее мощь. Открытие программы весьма не моментально, не говоря уже об ее установке. Однако разработчики еще при анонсировании обещали нам ускорить оба действия. Они это сделали. Новая вижла устанавливалась 20 минут. При этом никаких скаченных файлов для нее не было. Скорее всего, при установке уже существующие элементы игнорируются. В прочем, это не является чем-то удивительным. Запускается среда примерно 3 секунды. Примерно столько же уходит на загрузку решения из 6 проектов. Инструмент действительно стал быстрее.

Появилась весьма полезная функция «Легковесная загрузка решений», которая дает о себе знать при загрузке тяжелых проектов и решений. По умолчанию функция отключена. Включить ее можно перейдя «Сервис» — «Параметры» — «Проекты и Решения» — «Общие».

image

Теперь о еще более интересном. Еще при анонсе мой взгляд зацепился на функцию «Живое юнит тестирование». Суть этой идеи проста — мы пишем тесты для метода, а далее начинаем писать сам метод( идеально подходит для разработку через тестирование, но очень помогает и при традиционном подходе). Эта функция изначально также отключена. Включит можно во вкладке «Тест»-«Тестирование Live Unit Testing».

image
При включении этой функции нет необходимости при каждом изменении запускать заново тесты. На полях слева появляется ярлык( крестик или птичка), который говорит нам о том, прошли наши тесты, или нет. Также, при клике по ярлыку открывается список тестов с пометками, что именно не прошло. Функция эта доступна для Nunit, MSTest и xUnit.

Выглядит это примерно так.

image

Ах, да. Эти ярлычки будут показываться как возле метода, так и возле метода тестировки. Для этого примера я использовал NUnit. Для использования живого тестирования нужно было также установить на тестируемый проект NUnit3TestAdapter.

Исходник метода для тестирования ( Писалось для примера, так что последний case неверный).

[Test]
        [TestCase(1, -6)]
        [TestCase(2, -3)]
        [TestCase(3, 2)]
        [TestCase(4, 9)]
        [TestCase(5, 18)]
        [TestCase(6, 28)]
        public void FooTests(int param, int expect)
        {
            NewFituresTesting.Test t = new NewFituresTesting.Test();
            Assert.AreEqual(t.Foo(param), expect);
        }

Исходный код тестируемого метода

public int Foo(int bar)
        {
            return bar * bar - 7;
        }

Спасибо за просмотр. Если будет интересно, продолжу рассмотрение новшеств семнадцатой студии.

Использовалась статья.

Автор: призывник

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js