К основному контенту

xUnitFor1C и Обычное приложение.

Вводная: спросили, как?

Пример упавшего теста xUnitFor1C в Обычном приложении


Взял https://github.com/xDrivenDevelopment/xUnitFor1C

Обычного под руками ничего не было. Взял версию БСП 2.0.1.19 (для 8.2), включил запуск в обычном приложении, при первой попытке запуска xddTestRunner.epf получил ошибки связанные с методами платформы, которых из-за режима совместимости ещё не было.

Добавил глобальный модуль с заплатками (можно было поправить и релиз xUnitFor1C, но было быстрее в самой конфигурации сделать заплатку)

Функция СтрШаблон(Знач СтрокаПодстановки,
 Знач Параметр1, Знач Параметр2 = Неопределено, Знач Параметр3 = Неопределено,
 Знач Параметр4 = Неопределено, Знач Параметр5 = Неопределено, Знач Параметр6 = Неопределено,
 Знач Параметр7 = Неопределено, Знач Параметр8 = Неопределено, Знач Параметр9 = Неопределено) Экспорт
 
 Возврат СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
 СтрокаПодстановки, Параметр1, Параметр2, Параметр3, Параметр4, Параметр5, Параметр6, Параметр7, Параметр8, Параметр9);
 
КонецФункции

Функция СтрНайти(Строка, ПодстрокаПоиска, 
 НаправлениеПоиска = Неопределено, НачальнаяПозиция = 0, НомерВхождения = Неопределено) Экспорт
 
 Если ЗначениеЗаполнено(НаправлениеПоиска) Тогда
  ВызватьИсключение "НаправлениеПоиска";
 КонецЕсли;
 
 Если ЗначениеЗаполнено(НачальнаяПозиция) Тогда
  ВызватьИсключение "НачальнаяПозиция";
 КонецЕсли;
 
 Если ЗначениеЗаполнено(НомерВхождения) Тогда
  ВызватьИсключение "НомерВхождения";
 КонецЕсли;
 
 Возврат Найти(Строка, ПодстрокаПоиска);
 
КонецФункции

Дальше проверил только интерактивную работу -  запускаем  xddTestRunner.epf  из корня репозитория проекта. Загружаем тесты из каталога \ выборочно из файлов, сами тесты внешние обработки, примеры можно посмотреть там же в подкаталоге \Tests.

или делаем свою с модулем объекта, например так

Перем КонтекстЯдра;
Перем Утверждения;

Процедура Инициализация(КонтекстЯдраПараметр) Экспорт
 КонтекстЯдра = КонтекстЯдраПараметр;
 Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения");
КонецПроцедуры

Функция ПолучитьСписокТестов() Экспорт
 ВсеТесты = Новый Массив;
 
 ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоТо");
 ВсеТесты.Добавить("ТестДолжен_ПроверитьЕщёЧтоТо");
 ВсеТесты.Добавить("ТестДолжен_Провалиться");
 
 Возврат ВсеТесты;
КонецФункции

Процедура ТестДолжен_ПроверитьЧтоТо() Экспорт
 
 Утверждения.Проверить(Истина, "Это не была истина");
 
КонецПроцедуры

Процедура ТестДолжен_ПроверитьЕщёЧтоТо() Экспорт
 
 Утверждения.Проверить(Истина, "Это не была истина");
 
КонецПроцедуры

Процедура ТестДолжен_Провалиться() Экспорт
 
 Утверждения.Проверить(Ложь, "Это не была истина");
 
КонецПроцедуры


Для обычного приложения достаточно уже этого.

Про плагины

Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения");

все они лежат в каталоге \Plugins репозитория

А в качестве документации можно воспользоваться каталогом исходников репозитория, например


или открывать обработки из каталога \Plugins.


Комментарии

Популярные сообщения из этого блога

Схема компоновки данных. Вычисляемые поля. Разность дат

Как показала практика, вещь не очевидная что в запросе РАЗНОСТЬДАТ(Дата1,Дата2, МИНУТА) то в вычисляемых полях СКД: РАЗНОСТЬДАТ(Дата1,Дата2,"МИНУТА") Да, служебное слово для запроса в вычисляемом поле строковый параметр.

Управляемые формы. Группа формы. Сворачиваемая и свойство Свернута

В конфигураторе в свойствах группы есть свойство "Свернута" не доступное через средства встроенного языка. И честно, уже не в первой вводит в ступор, чтобы не забывать, что и как Начиная с 8.3.12 введены следующие методы для программного управления поведением Версия 8.3.12 | Новые возможности и изменения | Управляемая форма Дальше фрагменты из Синтаксис помошника. Расширение группы формы для обычной группы Скрыть (Hide) Синтаксис: Скрыть() Описание: В зависимости от значения свойства Поведение группы: Обычное - никакие действия не выполняются, Свертываемая - сворачивает группу, Всплывающая - скрывает группу. Доступность: Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер). Скрыта (Hidden) Расширение группы формы для обычной группы (Form group extension for a usual group) Скрыта (Hidden) Синтаксис: Скрыта() Возвращае...

Подготовка к сертификации 1С:Профессионал (Платформа 8.3)

Очень долго избегал этого момента, но в связи со сменой места работы сертификация стала теперь для меня обязательной. Вот отличный сайт по подготовке, с комментариями по каждому из вопросов 1С Экзамен Подготовка к экзамену в 1С