Начало работы с поблочным тестированием в C# с Visual Studio

Вот расширенная формула, чтобы вы могли лучше видеть. По сути, мы удаляем все поля из одной строки, которая создается двумя изображениями (20px * 2), затем мы делим все на 3. Таким образом, 13.33px равно 2/3 * 20px (только 2 из 3 имеют запас в 20 пикселей)

.container {
  max-width: 1140px;
  margin: 0 auto;
}

.flex {
  display: flex;
  flex-wrap: wrap;
}

.flex .flex-item {
  flex: 0 0 calc((100% - 20px * 2)/3);
  margin: 0 0 16px 20px;
}

.flex .flex-item:nth-child(3n+1) {
  margin-left: 0;
}

img {
  max-width: 100%;
  height: auto;
}
<div class="container">
  <div class="flex">
    <div class="flex-item"><img src="https://via.placeholder.com/800x400" /></div>
    <div class="flex-item"><img src="https://via.placeholder.com/800x400" /></div>
    <div class="flex-item"><img src="https://via.placeholder.com/800x400" /></div>
    <div class="flex-item"><img src="https://via.placeholder.com/800x400" /></div>
    <div class="flex-item"><img src="https://via.placeholder.com/800x400" /></div>
    <div class="flex-item"><img src="https://via.placeholder.com/800x400" /></div>
    <div class="flex-item"><img src="https://via.placeholder.com/800x400" /></div>
    <div class="flex-item"><img src="https://via.placeholder.com/800x400" /></div>
    <div class="flex-item"><img src="https://via.placeholder.com/800x400" /></div>
  </div>
</div>

16
задан 3 revs, 2 users 62% 23 May 2017 в 12:16
поделиться

3 ответа

Легко старшее значащее различие - то, что поддержка MSTest встроена к Visual Studio и обеспечивает поблочное тестирование, покрытие кода и дразнящий поддержку непосредственно. Чтобы сделать, те же типы вещей во внешних (сторонних) платформах модульного теста обычно требуют, чтобы несколько платформ (платформа поблочного тестирования и платформа насмешки) и другие инструменты сделали анализ покрытия кода.

easist способ использовать инструменты поблочного тестирования MSTest состоит в том, чтобы открыть файл, на который Вы хотите создать модульные тесты, щелкнуть правой кнопкой в окне редактора и выбрать меню "Create Unit Tests..." из контекстного меню. Я предпочитаю помещать свои модульные тесты в отдельный проект, но это - просто персональное предпочтение. Выполнение этого создаст своего рода "шаблонный" тестовый класс, который будет содержать методы тестирования позволить Вам тестировать каждую из функций и свойства Вашего класса. В той точке необходимо определить то, что это означает, чтобы тест передал или перестал работать (другими словами, определите то, что должно произойти, учитывая определенный набор исходных данных).

Обычно Вы заканчиваете тем, что писали тесты, которые выглядят подобными этому:

string stringVal = "This";
Assert.IsTrue(stringVal.Length == 4);

Это говорит, что для переменной, названной stringVal, свойство Length должно быть равно 4 после присвоения.

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

6
ответ дан 30 November 2019 в 23:14
поделиться

Первая вещь, которую я сделал бы, загрузить копию TestDriven. Сеть для использования в качестве исполнителя тестов. Это добавит контекстное меню, которое позволит Вам запустить отдельные тесты путем щелчка правой кнопкой в методе тестирования и выбора Запущенного Теста. Это также работает на все тесты в классе (щелкните правой кнопкой в классе, но вне метода), пространство имен (щелчок правой кнопкой по проекту или в пространстве имен вне класса), или все решение (щелкают правой кнопкой по решению). Это также добавляет способность запустить тесты с покрытием (встроенный или nCover) или отладчик из того же контекстного меню.

До установки тестов, обычно я придерживаюсь одного тестового проекта на проект и одного тестового класса в классе под тестом. Иногда я буду создавать тестовые классы для аспектов, которые натыкаются на большое количество классов, но не обычно. Типичным путем я создаю их, должен сначала создать скелет класса - никакие свойства, никакой конструктор, но с первым методом, который я хочу протестировать. Этот метод просто бросает NotImplementedException.

, После того как скелет класса создается, я использую щелкнуть правой кнопкой Create Unit Tests в методе под тестом. Это морские воды диалоговое окно, которое позволяет Вам создать новый тестовый проект или выбрать существующий. Я создаю, и называю соответственно, новый тестовый проект и имею мастер, создают классы. После того как это сделано, можно хотеть также создать частные функции средства доступа для класса в тестовом проекте также. Иногда они должны быть обновлены (воссозданные), если Ваш класс изменяется существенно.

Теперь у Вас есть тестовый проект и Ваш первый тест. Запустите путем изменения теста для определения желаемого поведения метода. Напишите достаточно кода, чтобы (едва-едва) пройти тест. продвиньтесь с написанием кодов тестов/записи, указав больше поведения для метода, пока все поведение для метода не будет определено. Затем перейдите на следующий метод или класс как соответствующий, пока у Вас нет достаточного количества кода для завершения функции, что Вы продолжаете работать.

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

2
ответ дан 30 November 2019 в 23:14
поделиться

Структура поблочного тестирования в VS подобна NUnit в, он - использование. Одно интересное (и полезный) функция его действительно значительно отличается от NUnit. Поблочное тестирование VS может использоваться с кодом, который не был написан с поблочным тестированием в памяти.

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

платформа поблочного тестирования VS на самом деле очень хорошо реализована и проста в использовании. Лучший из всех, можно использовать его с приложением, которое не было разработано с поблочным тестированием в памяти (что-то, что не легко с NUnit).

2
ответ дан 30 November 2019 в 23:14
поделиться
Другие вопросы по тегам:

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