Dynamo
Primer for v2.0
Русский
Русский
  • О программе
  • Введение
    • Что представляет собой программа Dynamo и как она работает?
    • Руководство пользователя Dynamo Primer, сообщество и платформа Dynamo
  • Настройка Dynamo
  • Пользовательский интерфейс
    • Рабочее пространство
    • Библиотека
  • Узлы и провода
  • Основные узлы и понятия
    • Указатель узлов
    • Геометрия для машинного проектирования
      • Обзор концепции геометрии
      • Вектор, плоскость и система координат
      • Точки
      • Кривые
      • Поверхности
      • Тела
      • Сети
    • Компоновочные блоки программ
      • Передача данных
      • Math
      • Logic
      • Строки
      • Цвет
    • Проектирование на основе списков
      • Что такое список
      • Работа со списками
      • Списки списков
      • Многомерные списки
    • Словари в Dynamo
      • Что такое словарь
      • Узлы Dictionary
      • Словари в узлах Code Block
      • Примеры использования Revit
  • Пользовательские узлы и пакеты
    • Пользовательские узлы
      • Пользовательские узлы: введение
      • Создание пользовательских узлов
      • Публикация узлов в библиотеку
    • Пакеты
      • Пакеты: введение
      • Практикум по работе с пакетом: Mesh Toolkit
      • Разработка пакетов
      • Публикация пакетов
      • Импорт Zero Touch
  • Dynamo для Revit
    • Подключение к Revit
    • Выбор
    • Редактирование
    • Создание
    • Адаптация
    • Выпуск документации
  • Dynamo for Civil 3D
    • Совместимость с Civil 3D
    • Начало работы
    • Библиотека узлов
    • Примеры рабочих процессов
      • Дороги
        • Размещение осветительных столбов
      • Землеустройство
        • Размещение коммуникаций
      • Инженерные сети
        • Переименование колодцев
      • Железная дорога
        • Границы зазора
      • Топосъемка
        • Управление группами точек
    • Дополнительные разделы
      • Привязка объекта
      • Python и Civil 3D
    • Проигрыватель Dynamo
    • Полезные пакеты
    • Ресурсы
  • Создание кода в Dynamo
    • Узлы Code Block и DesignScript
      • Что такое Code Block
      • Синтаксис DesignScript
      • Сокращение
      • Функции
    • Создание геометрии с помощью DesignScript
      • Основы работы с геометрией посредством DesignScript
      • Геометрические примитивы
      • Векторная математика
      • Кривые: интерполяционные и по управляющим точкам
      • Перенос, поворот и другие преобразования
      • Поверхности: интерполяционные, лофтированные, по управляющим точкам и поверхности вращения
      • Параметризация геометрических объектов
      • Пересечение и обрезка
      • Логические операции с геометрическими объектами
      • Генераторы точек Python
    • Python
      • Узлы Python
      • Python и Revit
      • Настройка собственного шаблона Python
    • Изменения языка
  • Практические советы
    • Методы создания графиков
    • Методы создания сценариев
    • Справочник по созданию сценариев
    • Управление структурой программы
    • Эффективная работа с большими наборами данных в Dynamo
  • Примеры рабочих процессов
    • Процессы для начала работы
      • Параметрическая ваза
      • Точки притяжения
    • Индекс понятий
  • Руководство для разработчиков
    • Сборка Dynamo на основе исходного кода
      • Сборка DynamoRevit на основе исходного кода
      • Управление зависимостями и их обновление в Dynamo
    • Разработка для Dynamo
      • Начало работы
      • Пример использования узлов Zero-Touch — узел сетки
      • Выполнение сценариев Python в узлах Zero-Touch (C#)
      • Дальнейшая работа с Zero-Touch
      • Расширенная настройка узлов Dynamo
      • Использование типов COM (взаимодействие) в пакетах Dynamo
      • Пример использования NodeModel — настраиваемый пользовательский интерфейс
      • Обновление пакетов и библиотек Dynamo для Dynamo 2.x
      • Обновление пакетов и библиотек Dynamo для Dynamo 3.x
      • Расширения
      • Определение пользовательской организации пакетов для Dynamo 2.0 или более поздней версии
      • Интерфейс командной строки Dynamo
      • Интеграция с Dynamo
      • Разработка для Dynamo for Revit
      • Публикация пакета
      • Создание пакета из Visual Studio
      • Расширения в виде пакетов
    • Запросы на слияние
    • Ожидания от тестирования
    • Примеры
  • Приложение
    • Вопросы и ответы
    • Визуальное программирование и Dynamo
    • Ресурсы
    • Примечания к выпуску
    • Полезные пакеты
    • Файлы примеров
    • Таблица интеграции с основной программой
    • PDF для скачивания
    • Сочетания клавиш Dynamo
Powered by GitBook
On this page
  • Модульные тесты
  • Системные тесты
Edit on GitHub
Export as PDF
  1. Руководство для разработчиков

Ожидания от тестирования

На этой странице описано, чего мы ожидаем при тестировании нового кода, добавляемого в Dynamo.

Итак, у вас появился новый узел, который нужно добавить. Замечательно! Пришло время добавить несколько тестов. Есть две причины, чтобы делать это.

  1. Это помогает выявить проблемы в коде.

  2. Когда кто-то другой вносит какие-либо изменения, которые нарушают работоспособность вашего узла, это также должно отразиться на тестах. Таким образом, человек, который сделал тесты неработоспособными, должен исправить это. Если с тестами все в порядке, то проблема в значительной степени связана с пользователями, чьи модели оказались неисправны.

Тесты в Dynamo бывает двух основных типов: модульные и системные.

Модульные тесты

Модульные тесты должны быть как можно более специализированными. Если вы создали узел, вычисляющий квадратные корни с помощью узла Zero Touch C#, тестироваться должна только конкретная библиотека DLL и узел C# должен вызывать непосредственно этот код. Модульные тесты даже не должны включать Dynamo.

Они должны включать следующее:

  • положительные тесты (правильное поведение);

  • отрицательные тесты (не выводятся ошибки при наличии лишнего во вводе);

  • регрессионные тесты (при обнаружении ошибки в коде напишите тест, чтобы убедиться, что она не повторится).

Такие тесты должны быть небольшими, быстрыми и надежными. Большинство тестов должны быть модульными.

Системные тесты

Системные тесты применяются к нескольким компонентам и проверяют их совместимость друг с другом. Их следует использовать и разрабатывать очень внимательно.

Почему? Их выполнение достаточно ресурсоемкое. Необходимо поддерживать выполнение набора тестов с минимально возможной задержкой.

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

Примеры элементов, для которых требуются системные тесты:

  • новый тип узла Revit, который сохраняет в трассировке несколько элементов, а не один элемент;

  • новый узел просмотра, отображающий данные по-разному.

Примеры элементов, для которых не требуются системные тесты:

  • новый узел математических вычислений;

  • библиотека обработки строк.

Системные тесты должны:

  • констатировать правильное поведение;

  • констатировать отсутствие патологических форм поведения, например отсутствие исключений.

PreviousЗапросы на слияниеNextПримеры

Last updated 1 month ago

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

этой