1с битрикс создание тестов

Обновлено: 06.07.2024

В первой части я сделал краткий обзор теории. А теперь переходим к практике.

Для начала скажу о том, что должно быть установлено на сервере перед началом написания тестов. Версия Битрикс должна быть 14 или выше. Должен быть установлен Composer локально или глобально. Версия php желательно 5.6 иначе все перечисленные ниже инструменты надо подбирать индивидуально для имеющейся версии php.

Для создания тестов я использую следующие инструменты:

phpUnit - фреймворк, который не нуждается в представлении

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

Используем Composer для того, чтобы подтянуть последние стабильные версии. Не буду описывать этот процесс, т.к. считаю что это очевидно и любой php-разработчик должен знать как использовать Composer.

Первый файл, о котором я расскажу - конфигурационный файл phpUnit phpunit.xml.dist. Он не является обязательным, но позволяет упростить запуск phpUnit, т.к. нужные параметры будут указаны в конфиге. Файл следует поместить в корень проекта. Посмотреть все настройки конфига можно в документации. В данном случае конфиг нужен в первую очередь для указания пути до bootstrap-файла и, собственно, тестов.

Bootstrap-файл запускается перед тем как phpUnit запустит тест. Этим он позволяет инициализировать все, что потребуется для тестирования. В нашем случае это ядро Битрикс, автозагрузкчик Composer, подключение класса, расширяющего стандартный тест-класс phpUnit’а.

Ниже представлен класс, расширяющий стандартный класс phpUnit для тестов. Все тесты должны наследоваться от этого класса. Очень важный момент заключается в том, что если не переопределить свойство $backupGlobals и присвоить ему значение false, то подключение ядра Битрикс будет приводить к фатальной ошибке.

Ниже я представил код упрощенного класса, который подвергнется тестированию. Это класс-репозиторий для получения данных о сущности книг, которые в свою очередь хранятся в инфоблоках Битрикс. Зависимость в виде экземпляра класса CIBlockElement передается через конструктор (Dependency Injection, о которой говорилось ранее). Для того, чтобы phpUnit распознал метод как тест, название метода должно начинаться с test. Тестировать будем метод getByAuthorId. Все максимально просто.

Пришло время рассмотреть пример теста. Тестирование произойдет для трех случаев: - Метод успешно отрабатывает и возвращает массив с данными одной записи. - Метод выбрасывает исключение из-за некорректного аргумента. - Метод успешно отрабатывает и возвращает пустой массив.

Все важные моменты я пометил комментариями в коде.

А теперь запуск тестов. В простейшем случае следует запустить из корня проекта следующую команду:

Итоги

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

Прикладываю список полезных ресурсов, которыми пользуюсь сам, для изучения модульного тестирования:

Refactoring to collections или как заменить foreach коллекциями

Этот пост будет целиком и полностью посвящен книге «Refactoring to collections», написанной Adam Wathan. Читать дальше

База Знаний — не только удобная энциклопедия для ваших коллег на порталах Битрикс24, с ее помощью можно решать множество других задач. Теперь вы можете создавать не только статьи, но и тесты, и вся информация о их прохождении будет собрана в вашей Базе знаний!

Как создавать тесты с помощью приложения База Знаний:

1 Создайте раздел, где будут храниться вопросы теста. Для каждого нового теста нужно создавать свой раздел, все статьи, помещенные внутрь раздела, будут входить в тест.

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

Вы можете добавить несколько правильных или даже только правильные ответы - тогда вопрос будет с мультивыбором. Но если создать вопрос только с неправильными вариантами, он не попадет в тест.

Если статья, находящаяся в разделе с тестом, не была превращена в вопрос, она появится как текстовая вставка.

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

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

Нажав на кнопку "Запустить Тестирование" вы создадите ссылку на прохождение теста. На каждого участника опроса или тестирования нужно создавать индивидуальную ссылку. Вы можете задавать названия прохождениям — например, имя того, кому предназначена ссылка.
Сгенерируйте ссылки на прохождение теста и раздайте их участникам тестирования.

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

Результаты тестирования

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

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

Откроется страница с деталями того, как тестируемый отвечал на вопросы

Если ссылок скопилось более 10, их полный список можно увидеть в новом окне, нажав на кнопку "Подробнее"

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

Создавайте опросы и тесты с помощью Базы Знаний! Проводите аттестации и проверки, собирайте обратную связь по различным вопросам, тестируйте коллег на портале или сторонних пользователей!

Хранить всю информацию по работе на портале Битрикс24 удобно любому бизнесу. По этой причине в маркете приложений появилось несколько вариантов приложений для ведения корпоративной вики, а также сам Битрикс24 имеет встроенную Базу Знаний.

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

В сравнении участвуют:

  • Встроенная База Знаний Битрикс24
  • База Знаний от IT-Solution (более 11 000 установок бесплатной и более 3 000 установок платной версии)
  • База Знаний Атлас24 от Информатика и Сервис (более 13 000 установок)
  • База Знаний от Эм Си Арт (более 7 000 установок)
  • База Знаний от Атласиб (более 800 установок)
  • Корпоративная Вики от AlterEGO (более 700 установок)

Статьи и разделы

Создание статей и разделов

Вы сможете создавать статьи, пользуясь любым из вариантов, однако встроенная База Битрикс24 сильно отличается от привычного формата "папка со статьями". На бесплатном тарифе вы сможете создать в ней только одну Базу, в которой можно будет добавлять странички. У вас не будет меню, если только вы сами не создадите нечто похожее на него в элементе "Сайдбар", который показывается в левой части любой из статей встроенной Базы Знаний: теоретически вы можете сохранять туда ссылки на другие страницы, но для этого вам придется вносить все обновления вручную, что, конечно, создает лишнюю работу.

Партнерские приложения предлагают гораздо более удобный интерфейс навигации по вашей корпоративной энциклопедии. В большинстве случаев вы сможете записывать информацию и перемещаться по Базе Знаний без затруднений. Исключением является приложение от Эм Си Арт: на сегодняшний день создавать там разделы и статьи может только администратор-создатель портала (пользователь с ID 1), и если требуется, чтобы в Базе Знаний работали другие сотрудники, администратор должен назначить их модераторами. Они смогут редактировать тот контент, где имеют права модераторов, но не смогут создавать новый.

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

Выставление прав доступа

Встроенная База Знаний Битрикс24 не позволяет выставлять права доступа на свое содержимое, и ее могут использовать все сотрудники на портале. Отчасти это компенсируется тем, что Битрикс24 позволяет создавать помимо основной Базы Знаний отдельные Базы Знаний по проектам, опираясь на доступы оттуда, однако вести множество отдельных Баз Знаний достаточно не удобно.

Партнерские приложения все позволяют собрать все в одном месте, и большинство из них дает выставить права доступов для нужных сотрудников (кроме приложения от Атласиб, где такой функционал отсутствует).

Механизм выставления доступов в партнерских приложениях отличается.

База Знаний от IT-Solution позволяет выставить как общие доступы на всю Базу — кто может создавать статьи, разделы, кто может публиковать их во внешний интернет; так и индивидуальные доступы к каждой статье, а в расширенной версии и к каждому разделу. Выставлять индивидуальные права на контент могут администраторы, авторы контента и те, кому добавили право на редактирование. Таким образом одновременно могут работать все нужные сотрудники, и контролировать доступы к информации внутри Базы Знаний легко и просто.

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

В Базе Знаний от Эм Си Арт вы сможете создать роли для выставления доступов, и распределить их между сотрудниками на портале для каждой статьи или раздела индивидуально. Общие настройки доступов для Базы в этом приложении отсутствуют, что может вызвать неудобство, если требуется изменить много доступов сразу: все придется делать для каждой статьи или раздела по отдельности.

В Корпоративной вики от AlterEGO вы сможете настроить список пользователей, которые могут читать или редактировать статьи и разделы, а также создавая нужный список для каждой статьи или раздела индивидуально. Недостаток здесь, как и в случае с Эм Си Арт, это отсутствие возможности быстро выставить доступы на всю Базу.

Древовидная структура разделов, поиск по статьям, теги

Встроенная База Знаний Битрикс24 не имеет древовидной структуры для содержимого. Там отсутствует иерархическая структура как таковая, соответственно, если вам требуется создать определенную вложенность контента, у вас не получится это сделать. Поиск и теги во встроенной Базе Знаний Битрикс24 отсутствуют. Есть фильтрация, но только по названиям статей, их авторам и датам создания/изменения. Вы не сможете искать статьи по фрагменту текста или по тегу.

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

Большинство приложений от партнеров дают присваивать статьям теги. Исключением является приложение Корпоративная вики от AlterEGO, где теги к статьям отсутствуют.

Просмотр изменений, публикация статей в Живую ленту Битрикс24

Увидеть историю изменений можно только в Базе Знаний от IT-Solution и в Атлас24. Остальные варианты такой возможности не предоставляют.

Далее убедитесь, что свободного места хватит.

Перейдите на главную. В блоке «Ограничения» в строке «Диск» проверьте, сколько осталось доступного места.

Для просмотра свободных ресурсов виртуального сервера переключитесь в расширенные настройки сервера srv-admin (инструкция).

В блоке «RED.Monitoring» в строке «Дисковое пространство» проверьте оставшееся место.


2. Создание копии сайта

Для создания копии сайта в админпанели 1С-Битрикс перейдите по пути: Настройки → Инструменты → Резервное копирование → Список резервных копий.


3. Скачивание и загрузка файла «restore.php»


4. Запуск распаковки копии сайта


Перейдите на страницу со списком резервных копий в панели 1С-Битрикс. Выберите копию и нажмите на «Получить ссылку для переноса».



На следующем этапе вы можете восстановить базу данных или пропустить этот шаг.

Для восстановления следует создать базу данных для тестового сайта. После введите требуемую информацию и поставьте галочку в графе «Создать базу данных, если не существует». Нажмите «Восстановить».


Далее удалите локальную резервную копию и служебные скрипты.


Результат будет отражен на экране — тестовая копия сайта успешно создана.

Читайте также: