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

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

04.04.2013


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

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

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

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

2.2 XML



Состав:

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

2. Обработка «TestRunner» — стартер тестов конфигурации.

 

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

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

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

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

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

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

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

15 Comments

  1. Alister

    Все предельно понятно 🙂 И для чего, и как 🙂

    Reply
  2. kuntashov

    Может, объединим усилия — https://github.com/kuntashov/1CUnit ?

    Сделано на базе SnowTest при активном участии и под чутким руководством Артура Аюханова.

    Но, конечно же, еще делать и делать — https://github.com/kuntashov/1CUnit/issues?page=1&sort=created&state=open

    Reply
  3. awk

    (1) Alister, Да… Пока ходил платить думал. Действительно, не стоит писать больше. Те кто реально будут использовать — знают что такое «Модульное тестирование». А кто не знает — тот использовать не будет.

    Reply
  4. awk

    (2) kuntashov, Я не против.

    Reply
  5. awk

    (2) kuntashov, Зарегистрировался на гит-хабе, но как присоединится к репозитарию так и не понял. Профиль на гите (awk-kazmin)

    Reply
  6. kuntashov

    (5) Добавил в коллабораторы с правами на прямой коммит в репозитарий.

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

    Reply
  7. awk

    (6) kuntashov, Если начальство завтра не помешает (я увольняюсь, а дом линукс 1С 8,3 работает отвратно — блокнот). Солью отрефакторинную функцию обхода метаданных.

    Reply
  8. kuntashov

    (7) Спасибо!

    Reply
  9. Alister

    (3) отбрил, так отбрил 🙂

    Reply
  10. kuntashov

    (10) Артур, а уже сделали что-то для Снегопата, да? )

    Reply
  11. awk

    (10) artbear, (11) kuntashov, Ок… Только, немного на новом месте освоюсь. А можно пояснения к колонкам дерева, а то если честно, то там очень трудно воспринимать информацию.

    P.S. (10) artbear, А как ты за неактивную публикацию плюсанул?

    Reply
  12. artbear

    (12) я же модератор.мне многое можно 🙂

    А про какие колонки и какого дерева ты говоришь?

    Зы как работающаядостал т9 🙁

    Reply
  13. awk

    (13) artbear, Я про дерево тестов.

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

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

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

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

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

    Если этого не сделать, то код превратится в спагетти.

    Reply
  14. _Ramzes

    Скачал. Запустил. Ничего не понял. Коллеги, вот уже больше 12 годиков программирую, большой опыт тестирования нагрузок и производительности.

    Но, я совершенно не понял что делать. Было бы просто замечательно видео с демонстрацией тестирования модулей.

    Reply
  15. AlexO

    (16) _Ramzes,

    Скачал. Запустил. Ничего не понял.

    Это очередной междусобойчик для одноэсового капустника ))

    Проделана большая работа, некоторые даже успели воспользоваться, но — ограничения и условности (в основном, самого 1С) начисто стирают пользу от таких «юнит тестов».

    так что подробностей не ждите — все сугубо индивидуально и подогнано под некую «идеальную» конфигурацию, которой пользуется автор.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *