IE2017

Модульное тестирование (Unit testing)

Программирование - Инструментарий

Небольшая конфигурация для модульного тестирования

04.04.2013


Выложено обновление.

1. Проведен глубокий рефакторинг

2. Добавлена возможность сохранять результаты тестирования в:

2.1 Регистре сведений

2.2 XML



Состав:

1. Общий модуль "TestingFunction" - набор проверочных процедур + пример использования (необязательный модуль).

2. Обработка "TestRunner" - стартер тестов конфигурации.

 

Как создать тесты:

1. Создать экспортируемую функцию ПолучитьСписокТестов (Должна вернуть массив строк типа: "Тест()" описывающий тесты модуля)

2. Создать функции тестов

3. Открыть обработку TestRunner

4. Выделить нужные тесты

5. Нажать кнопку "Запустить тесты"

6. Проверить результаты

Скачать файлы

Наименование Файл Версия Размер
1Cv8.cf
.cf 77,49Kb
04.04.13
46
.cf 77,49Kb 46 Скачать

См. также

Комментарии
1. Alister (Alister) 9 01.04.13 21:46 Сейчас в теме
Все предельно понятно :) И для чего, и как :)
2. Александр Кунташов (kuntashov) 356 01.04.13 22:11 Сейчас в теме
Может, объединим усилия - https://github.com/kuntashov/1CUnit ?
Сделано на базе SnowTest при активном участии и под чутким руководством Артура Аюханова.
Но, конечно же, еще делать и делать - https://github.com/kuntashov/1CUnit/issues?page=1&sort=created&state=open
3. Василий Казьмин (awk) 678 01.04.13 22:24 Сейчас в теме
(1) Alister, Да... Пока ходил платить думал. Действительно, не стоит писать больше. Те кто реально будут использовать - знают что такое "Модульное тестирование". А кто не знает - тот использовать не будет.
адуырщдв; Alister; +2 Ответить 1
4. Василий Казьмин (awk) 678 01.04.13 23:20 Сейчас в теме
5. Василий Казьмин (awk) 678 01.04.13 23:32 Сейчас в теме
(2) kuntashov, Зарегистрировался на гит-хабе, но как присоединится к репозитарию так и не понял. Профиль на гите (awk-kazmin)
6. Александр Кунташов (kuntashov) 356 01.04.13 23:37 Сейчас в теме
(5) Добавил в коллабораторы с правами на прямой коммит в репозитарий.
Сейчас по тест-раннеру с управляемыми формами не все хорошо и не реализована загрузка тестов из модулей конфигурации - пока только внешние обработки, а было бы здорово иметь опцию загрузки тестов из метаданных.
7. Василий Казьмин (awk) 678 01.04.13 23:48 Сейчас в теме
(6) kuntashov, Если начальство завтра не помешает (я увольняюсь, а дом линукс 1С 8,3 работает отвратно - блокнот). Солью отрефакторинную функцию обхода метаданных.
8. Александр Кунташов (kuntashov) 356 01.04.13 23:55 Сейчас в теме
9. Alister (Alister) 9 02.04.13 00:16 Сейчас в теме
(3) awk, отбрил, так отбрил :)
10. Модератор раздела Артур Аюханов (artbear) 16.04.13 16:31 Сейчас в теме
(7) awk, ждем присоединения и функцию :)
У меня на работе в первых планах - сделать запуск 1CUnit из Конфигуратора через Снегопат для обеспечения быстрой и простой разработки тестов простыми разработчиками.
11. Александр Кунташов (kuntashov) 356 16.04.13 16:45 Сейчас в теме
(10) Артур, а уже сделали что-то для Снегопата, да? )
12. Василий Казьмин (awk) 678 16.04.13 19:03 Сейчас в теме
(10) artbear, (11) kuntashov, Ок... Только, немного на новом месте освоюсь. А можно пояснения к колонкам дерева, а то если честно, то там очень трудно воспринимать информацию.

P.S. (10) artbear, А как ты за неактивную публикацию плюсанул?
13. Артур Аюханов (artbear) 870 16.04.13 23:37 Сейчас в теме
(12) я же модератор.мне многое можно :)
А про какие колонки и какого дерева ты говоришь?
Зы как работающаядостал т9 :(
14. Василий Казьмин (awk) 678 18.04.13 10:51 Сейчас в теме
(13) artbear, Я про дерево тестов.

мЗначенияТиповСтроки = Новый Структура;
мЗначенияТиповСтроки.Вставить("КаталогТестов", 0); // Понятно
мЗначенияТиповСтроки.Вставить("Тест", 1); // не понятно
мЗначенияТиповСтроки.Вставить("ТестовыйСлучай", 2); // Понятно
...Показать Скрыть


		Тест = ВнешниеОбработки.Создать(СтрокаДереваТестов.ПолныйПуть);		


Убъет заполнение по метаданным.


надо поменять на:


ФабрикаТестов = ПолучитьФабрику(СтрокаДереваТестов);
Тест = ФабрикаТестов.СоздатьТест();		



От реализации Фабрики тестов нужно будет делать фабрику для заполнения элементов дерева.

Если этого не сделать, то код превратится в спагетти.
15. Модератор раздела Артур Аюханов (artbear) 18.04.13 12:35 Сейчас в теме
(14) awk,
1. Согласен, странный код
мЗначенияТиповСтроки.Вставить("Тест", 1); // не понятно
в итоге мЗначенияТиповСтроки.Тест используется один раз и только для занесения теста.
А все проверки по дереву идут по КаталогТестов и ТестовыйСлучай :(
2. По фабрике - пока использован минималистичный подход - пишем только тот код, который нужен.
Сейчас я начал задумываться о тестах внутри метаданных, так что предложенный подход пригодится.
3. Можешь прямо на гитхабе писать. Создавать задачу (issue) и там писать. Саша Кунташов тебе ссылку на задачи уже давал. Можно прямо так обсудить. или через Хром/Скайп текстовую конференцию устроить :)
или письмом :)
16. Роман Гаманец (_Ramzes) 98 23.06.13 16:27 Сейчас в теме
Скачал. Запустил. Ничего не понял. Коллеги, вот уже больше 12 годиков программирую, большой опыт тестирования нагрузок и производительности.
Но, я совершенно не понял что делать. Было бы просто замечательно видео с демонстрацией тестирования модулей.
17. Алекс Ю (AlexO) 116 23.03.15 11:33 Сейчас в теме
(16) _Ramzes,
Скачал. Запустил. Ничего не понял.
Это очередной междусобойчик для одноэсового капустника ))
Проделана большая работа, некоторые даже успели воспользоваться, но - ограничения и условности (в основном, самого 1С) начисто стирают пользу от таких "юнит тестов".
так что подробностей не ждите - все сугубо индивидуально и подогнано под некую "идеальную" конфигурацию, которой пользуется автор.
Оставьте свое сообщение