Skip to content

Commit

Permalink
Merge branch 'release/24.02'
Browse files Browse the repository at this point in the history
  • Loading branch information
alkoleft committed Feb 29, 2024
2 parents 4c5eaa5 + 0d8e2d7 commit ff33e3f
Show file tree
Hide file tree
Showing 72 changed files with 2,704 additions and 370 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ VBParams.json
*.*.bak

# IDE
tests/.settings/*
.metadata/
*/.settings/com._1c.g5.v8.dt.platform.services.core.prefs
*/.settings/EnvLaunchModeIndex.prefs

Expand Down
2 changes: 1 addition & 1 deletion COPYRIGHT
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ![Logo](documentation/static/img/logo.png) YAXUnit. Расширение для запуска тестов
# ![Logo](documentation/static/img/logo.png) YAxUnit. Расширение для запуска тестов

----

Expand Down
2 changes: 1 addition & 1 deletion documentation/blog/2023/04/29-02-engine-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ authors: alkoleft
tags: [releases, yaxunit]
---

[Release 23.04](https://github.com/bia-technologies/edt-test-runner/releases/tag/23.04)
[Release 23.04](https://github.com/bia-technologies/yaxunit/releases/tag/23.04)

## Новое в версии

Expand Down
2 changes: 1 addition & 1 deletion documentation/blog/2023/05/25-engine-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ authors: alkoleft
tags: [releases, yaxunit]
---

[Release 23.05](https://github.com/bia-technologies/edt-test-runner/releases/tag/23.05)
[Release 23.05](https://github.com/bia-technologies/yaxunit/releases/tag/23.05)

## Новое в версии

Expand Down
2 changes: 1 addition & 1 deletion documentation/blog/2023/07/31-engine-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ authors: alkoleft
tags: [releases, yaxunit]
---

[Release 23.07](https://github.com/bia-technologies/edt-test-runner/releases/tag/23.07)
[Release 23.07](https://github.com/bia-technologies/yaxunit/releases/tag/23.07)

## Новое в версии

Expand Down
2 changes: 1 addition & 1 deletion documentation/blog/2023/09/05-engine-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ authors: alkoleft
tags: [releases, yaxunit]
---

[Release 23.08](https://github.com/bia-technologies/edt-test-runner/releases/tag/23.08)
[Release 23.08](https://github.com/bia-technologies/yaxunit/releases/tag/23.08)

## Новое в версии

Expand Down
2 changes: 1 addition & 1 deletion documentation/blog/2024/01/15-engine-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ authors: alkoleft
tags: [releases, yaxunit]
---

[Release 24.01](https://github.com/bia-technologies/edt-test-runner/releases/tag/24.01)
[Release 24.01](https://github.com/bia-technologies/yaxunit/releases/tag/24.01)

## Новое в версии

Expand Down
39 changes: 39 additions & 0 deletions documentation/blog/2024/02/29-engine-release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
title: YaxUnit. Версия 24.02
authors: alkoleft
tags: [releases, yaxunit]
---

[Release 24.02](https://github.com/bia-technologies/yaxunit/releases/tag/24.02)

## Новое в версии

### Тестовые данные

* Добавлен метод генерации случайного номера телефона [#175](https://github.com/bia-technologies/yaxunit/issues/175)
* Добавлен метод для получения случайного значения предопределенных данных [#246](https://github.com/bia-technologies/yaxunit/issues/246)
* Внесен метод генерации случайного значения по описанию типов в публичный интерфейс. [#250](https://github.com/bia-technologies/yaxunit/issues/250)

### Утверждения

* Метод утверждений ИмеетДлину не выводит в тексте ошибки фактическую длину (размер) [#203](https://github.com/bia-technologies/yaxunit/issues/203)

### Мокирование

* Добавить методы для мокирования ADO.RecordSet [#222](https://github.com/bia-technologies/yaxunit/issues/222)

### Запуск

* Добавить запуск выделенных тестов в обработке запуска тестов по Ctrl+Enter [#251](https://github.com/bia-technologies/yaxunit/issues/251) Спасибо [@1cgh](\(https://github.com/1cgh)

### Отчет о тестировании

* Отчет в формате allure [#255](https://github.com/bia-technologies/yaxunit/issues/255)

## Исправленные ошибки

* Если в ИсполняемыеСценарии выпадает ошибка, то тесты просто не определяются и ошибка нигде не отображается [#198](https://github.com/bia-technologies/yaxunit/issues/198)
* Использование метода ЮТест.Пропустить влечет запись кода 1 (ошибка) в файл с результатом проверки [#216](https://github.com/bia-technologies/yaxunit/issues/216)
* Добавить DataProcessor.ЮТHTTPServiceRequest в подсистему ЮТМокирование [#247](https://github.com/bia-technologies/yaxunit/issues/247)
* Метод в ВТранзакции() на уровне теста не работает корректно. Код не выполняется в транзакции. [#253](https://github.com/bia-technologies/yaxunit/issues/253)
* Не корректно работает цепочка загрузок из макета [#266](https://github.com/bia-technologies/yaxunit/issues/266)
20 changes: 20 additions & 0 deletions documentation/blog/2024/02/29-plugin-release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: EDT Test runner. Версия 24.02
authors: alkoleft
tags: [releases, plugin]
image: https://github.com/bia-technologies/edt-test-runner/releases/tag/24.02
---

[Release 24.02](https://github.com/bia-technologies/edt-test-runner/releases/tag/24.02)

## Новое в версии

* Реализована генерация тестовых модулей и тестов
* Реализована генерация моков для методов конфигурации
* Небольшие доработки UI

Подробнее смотрите в [документации](https://github.com/bia-technologies/edt-test-runner/blob/24.02/docs/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8.md#%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D0%BD%D0%B8%D0%BA%D0%B8)

## Исправлены ошибки

* Исправлена ошибка "Не удалось найти тестовый метод"
6 changes: 6 additions & 0 deletions documentation/docs/features/features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
sidebar_position: 0
tags: [Начало]
---

# Возможности
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/docs/images/config-ui.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion documentation/docs/install/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ tags: [Начало]

# Установка

YAXUnit - это расширение для 1С:Предприятия, которое надо добавить к вашему проекту.
YAxUnit - это расширение для 1С:Предприятия, которое необходимо добавить к вашему проекту.

## Требования

Expand Down
27 changes: 27 additions & 0 deletions documentation/docs/reports.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
sidebar_position: 9
tags: [Начало]
---

# Форматы отчетов о тестировании

YAxUnit поддерживает генерацию отчетов в форматах `JUnit` и `Allure`.

Указать необходимый формат вы может в [параметрах запуска](run/configuration), либо в [форме настроек](yaxunit-ui#интерфейс-настройки-конфигурации).
По умолчанию используется формат `JUnit`.

## Формат `JUnit`

Широко распространенный формат отчетов о тестировании. Используется для интеграции с [плагином запуска тестов из EDT](https://github.com/bia-technologies/edt-test-runner). В отличии от Allure позволяет хранить и сравнивать ожидаемое и фактическое значения. Подходит для процесса разработки/отладки тестов.

## Формат `Allure`

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

Группировка по тестовым наборам

![Группировка по тестовым наборам](images/allure-report-suites.png)

Группировка по функциональности

![Группировка по функциональности](images/allure-report-behaviors.png)
2 changes: 1 addition & 1 deletion documentation/docs/run/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
| Имя параметра | Тип | Значение по умолчанию | Описание |
|-------------------|-----------|-------------------------------------------------|--------------------------------------------------------------------------------------------------------------|
| `filter` | `Object` | [Object, смотрите ниже](#параметры-фильтрации) | Параметры фильтрации, поиска тестов |
| `reportFormat` | `String` | `"jUnit"` | Формат отчета о тестировании, возможные значения: `"jUnit"`, `"JSON"` |
| `reportFormat` | `String` | `"jUnit"` | Формат отчета о тестировании, возможные значения: `"jUnit"`, `"JSON"` , `"allure"` |
| `reportPath` | `String` | `""` | Путь к формируемому отчету, можно указать или каталог (в которому будет создан файл отчета) или путь к файлу |
| `closeAfterTests` | `Boolean` | `True` | Признак закрытия 1С:Предприятие по завершению тестирования |
| `showReport` | `Boolean` | `True` | Открыть форму отчета завершению тестирования |
Expand Down
6 changes: 2 additions & 4 deletions documentation/docs/user-api/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,14 @@ tags: [Начало]
* Сохранения состояния и обмена данными между тестами используя [контекст](context.md)
* [Подмены](mockito.md) алгоритмов работы системы
* [Предикаты](predicates.md), которые используются во многих механизмах движка
* [Получения данных](queries.md) информационной базы
* Методы [получения данных](queries.md) информационной базы
* [Интерфейс](yaxunit-ui.md) для просмотра отчета и настройки параметров запуска тестов

Доступ к API осуществляется через методы модуля `ЮТест`, например

* `ЮТест.Данные()` для доступа к методам работы с тестовыми данными
* `ЮТест.ОжидаетЧто()` для доступа к утверждения

Планируется расширять существующий API и реализовать нужный недостающий функционал.

:::tip
:::tip
Не рекомендуется обращаться к модулям API напрямую, используйте `ЮТест`
:::
21 changes: 10 additions & 11 deletions documentation/src/pages/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ sidebar_position: 0
slug: /
---

# YAXUnit. Расширение для запуска тестов
# YAxUnit. Расширение для запуска тестов

----

Expand All @@ -20,23 +20,22 @@ slug: /

----

- [YAXUnit. Расширение для запуска тестов](#yaxunit-расширение-для-запуска-тестов)
- [Назначение](#назначение)
- [Возможности](#возможности)
- [Пример тестового модуля](#пример-тестового-модуля)
- [Запуск](#запуск)
- [Запуск из EDT](#запуск-из-edt)
- [Запуск вне EDT](#запуск-вне-edt)
- [Благодарности](#благодарности)
- [Лицензия](#лицензия)
- [Назначение](#назначение)
- [Возможности](#возможности)
- [Пример тестового модуля](#пример-тестового-модуля)
- [Запуск](#запуск)
- [Запуск из EDT](#запуск-из-edt)
- [Запуск вне EDT](#запуск-вне-edt)
- [Благодарности](#благодарности)
- [Лицензия](#лицензия)

## Назначение

Самостоятельное расширение для написания и выполнения модульного тестирования.

### Возможности

- YAXUnit - это расширение с открытым исходным кодом, которое используется для написания и выполнения тестов
- YAxUnit - это расширение с открытым исходным кодом, которое используется для написания и выполнения тестов
- Разрабатывалось с оглядкой на JUnit5, пожалуй, лучший фреймворк тестирования
- Предоставляет движок выполнения тестов
- Предоставляет утверждения для проверки ожидаемых результатов
Expand Down
2 changes: 1 addition & 1 deletion exts/yaxunit/.settings/templates/common_module.bsl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down
8 changes: 7 additions & 1 deletion exts/yaxunit/src/CommonModules/ЮТЗапросы/Module.bsl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -200,6 +200,12 @@

КонецФункции

Функция НовыйОписаниеЗапроса(ИмяТаблицы, ПредикатыУсловия, ВыбираемыеПоля) Экспорт

Возврат ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, ПредикатыУсловия, ВыбираемыеПоля);

КонецФункции

// Возвращает коллекцию движений документа
//
// Параметры:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -314,6 +314,7 @@
НаборыКонтекстов = Новый Структура;

ТестыНабора = ЮТОбщий.ЗначениеСтруктуры(ТестовыйНабор, "Тесты", Новый Массив());
ОбработатьОшибкиЧтенияНабора(ТестовыйНабор, ТестовыйМодуль);

Для Каждого Тест Из ТестыНабора Цикл

Expand All @@ -328,6 +329,9 @@
КонецЕсли;

ИсполняемыйТест = ЮТФабрика.ОписаниеИсполняемогоТеста(Тест, Контекст, ТестовыйМодуль);
Если Тест.Свойство("Ошибки") И Тест.Ошибки.Количество() > 0 Тогда
ИсполняемыйТест.Ошибки = ЮТОбщий.СкопироватьМассив(Тест.Ошибки);
КонецЕсли;
ИсполняемыйНабор.Тесты.Добавить(ИсполняемыйТест);

КонецЦикла;
Expand All @@ -348,6 +352,31 @@

КонецФункции

Процедура ОбработатьОшибкиЧтенияНабора(Набор, Модуль)
ТестыНабора = ЮТОбщий.ЗначениеСтруктуры(Набор, "Тесты", Новый Массив());
Ошибки = ЮТОбщий.ЗначениеСтруктуры(Набор, "Ошибки", Новый Массив());

Если Ошибки.Количество() > 0 Тогда
Для Каждого Ошибка Из Ошибки Цикл
Если Ошибка.ТипОшибки = ЮТФабрика.ТипыОшибок().ЧтенияТестов Тогда
Тест = ОписаниеТестаСОшибкойЧтения(Модуль, Ошибка);
ТестыНабора.Добавить(Тест);

Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры

Функция ОписаниеТестаСОшибкойЧтения(Модуль, Ошибка)
Контексты = ЮТФабрика.КонтекстыМодуля(Модуль.МетаданныеМодуля);
Тест = ЮТФабрика.ОписаниеТеста("ИсполняемыеСценарии", "ИсполняемыеСценарии", Контексты);
Тест.Вставить("Ошибки", Новый Массив);
Тест.Ошибки.Добавить(ЮТОбщий.СкопироватьСтруктуру(Ошибка));

Возврат Тест;
КонецФункции

Процедура ПоказатьОтчет(РезультатыТестирования, Параметры)

Данные = Новый Структура("РезультатыТестирования, ПараметрыЗапуска", РезультатыТестирования, Параметры);
Expand All @@ -374,14 +403,14 @@

Для Каждого Набор Из Модуль.НаборыТестов Цикл

Если ЗначениеЗаполнено(Набор.Ошибки) Тогда
Если РезультатТестаСодержитОшибки(Набор) Тогда
Успешно = Ложь;
Прервать;
КонецЕсли;

Для Каждого Тест Из Набор.Тесты Цикл

Если ЗначениеЗаполнено(Тест.Ошибки) Тогда
Если РезультатТестаСодержитОшибки(Тест) Тогда
Успешно = Ложь;
Прервать;
КонецЕсли;
Expand Down Expand Up @@ -410,4 +439,22 @@

КонецПроцедуры

Функция РезультатТестаСодержитОшибки(Тест)
Результат = Ложь;

Если НЕ ЗначениеЗаполнено(Тест.Ошибки) Тогда
Возврат Результат;
КонецЕсли;

ТипОшибкиПропущен = ЮТФабрика.ТипыОшибок().Пропущен;
Для Каждого ОписаниеОшибки Из Тест.Ошибки Цикл
Если ОписаниеОшибки.ТипОшибки <> ТипОшибкиПропущен Тогда
Результат = Истина;
Прервать;
КонецЕсли;
КонецЦикла;

Возврат Результат;
КонецФункции

#КонецОбласти
Loading

0 comments on commit ff33e3f

Please sign in to comment.