Для

Хотелось бы привести простой пример работы с JKI VI Tester.
В отличии от NI Unit Test Framework, JKI VI Tester бесплатный для использования. Его можно установить при помощи VI Package Manager. После установки, тулкит доступный в меню Tools -> VI Tester. Принцип работы JKI VI Tester довольно простой. Можно создавать Test Cases, и Test Suites (которые включают в себя Test Cases). Test Cases обычно содержат тесты для конкретных модулей/функционала.
При создании Test Case, в проект добавляется класс, который содержит setUp.vi, tearDown.vi, vi-пример в виде –шаблона testExample.vit. В setUp.vi и tearDown.vi можно добавлять код, который будет производить инициализацию каких-то параметров для теста, и их деинициализацию. Таким образом, при запуске теста выполняется посделовательность setUp.vi – test.vi - tearDown.vi.
Для создания нового теста, достаточно клацнуть правой кнопкой мышки на testExample.vit -> New from Tempate. Нужно не забывать, что все виайки-тесты должны содержать префикс / слово test вначале имени виайки.
Ну, а дальше в созданной виайке можно писать сам тест. При установке тулкита, в палитру функций JKI Toolkits добавляются API функции для работы с VI тестером. Их нужно использовать для создания теста, а именно – для определения условий при которых тест будет пройден, или же нет.
Ну, а сейчас перейдем непосредственно к примеру.
Пускай необходимо создать модуль, который будет инкрементировать числовой суффикс рядка. И, необходимо соблюдать следующие условия:
- Если рядок пустой, необходимо генерить ошибку (5005);
- Если рядок не содержит чилового суффикса на конце, его необходимо добавить (string -> string_01);
- Если рядок уже содержит числовой суффикс, его необходимо инкрементировать (string_02 -> string_03).
Значит, требования нам известный, и мы может создать шаблон виайки. Теперь, запускаем сам тестер. Для этого вибираем Tools -> VI Tester -> Test VIs… Так как проект пока не содержит тесты, список тестов пустой. Добавим тесты.
Для этого выбираем Tools -> VI Tester -> New -> Test Case…, и сохраняем созданный тест-класс.
Теперь, мы можем создать три теста, на основе наших требований. Создаем, сохраняем виайки, и сохраняем проект в целом (это важно, чтобы тестер «увидел» созданные тесты). Переходим в окно VI Tester, жмем кнопку Reload – и видим наши тесты. Запускаем, и, конечно же видим, что все они имеют статус Fail (само собой, т.к. наш модуль-под-тестом еще не имплементирован). Имплементируем требования. Первое – это проверка условия пустой строки, и генерация ошибки. Сохраняем изменения модуля, запускаем тест. Теперь, один из трех тестов прошел успешно. Значит, мы на правильном пути

Конечно же, такой простой функционал быстрее было бы проверить вручную. Но представим, что модуль должен соответствовать большему количеству требований. Со временем также его имплементация может менятся – а значит, опять придется проверять ввесь функционал вручную. И таких модулей может быть в проекте десятки, а то и сотни – и тогда изменение одного из модулей может навредить/повлиять на роботу многим другим.
Но если один раз написать правильный тест, и потом использовать его для автоматического тестирования коду, мы сохраним кучу времени для тестирования, а главное – будем уверены, что наши имплементированные алгоритмы работают правильно.
Также, при помощи VI Tester можно создавать код, который будет запускать тестер из проекта – например, при билде кода в библиотеку, или приложение. При помощи Pre-Build Action и VI Tester API виайки будут тестироваться автоматически, гарантируя таким образом то, что код будет функциональным.
Еще одной особенностью VI Tester есть то, что во-первых, он имеет открытый исходный код (на GitHub есть доступный репозитарий), а во-вторых, он является объектно-ориентированным, а значит можно модифицировать тест-алгоритмы в соответствии к своим нуждам.
Подытоживая вышесказанное, как по мне, VI Tester - отличный инструмент, который должен быть на вооружении у любого

P.S. А вы – используете unit testing подход/тулкиты/фреймворки при написании кода
