Skip to content

Commit

Permalink
Merge branch 'release/23.07'
Browse files Browse the repository at this point in the history
  • Loading branch information
alkoleft committed Jul 31, 2023
2 parents 356c1e2 + 4ef1fd7 commit 078cdfc
Show file tree
Hide file tree
Showing 724 changed files with 101,949 additions and 960 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
[![Quality Gate](https://sonar.openbsl.ru/api/project_badges/measure?project=yaxunit&metric=alert_status)](https://sonar.openbsl.ru/dashboard?id=yaxunit)
[![Maintainability](https://sonar.openbsl.ru/api/project_badges/measure?project=yaxunit&metric=sqale_rating)](https://sonar.openbsl.ru/dashboard?id=yaxunit)

Обсудить в [телеграмм чате](https://t.me/BIAOpenTools/12)
Обсудить в [Telegram чате](https://t.me/BIAOpenTools/12)

----

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

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

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

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

* Научили конструктор тестовых данных создавать данные в регистрах [#69](https://github.com/bia-technologies/yaxunit/pull/69)
* Реализовано удаление тестовых данных созданных на клиенте [#74](https://github.com/bia-technologies/yaxunit/pull/74)
* Добавлена возможность создания объекта без записи и формирование вариантов параметров [#86](https://github.com/bia-technologies/yaxunit/pull/86)
* Реализована поддержка параметров заполнения для функции "Фикция" в тестовых данных [#75](https://github.com/bia-technologies/yaxunit/pull/75)
* Сброс признака ОбменДанными.Загрузка после создании объекта через методы движка [#92](https://github.com/bia-technologies/yaxunit/pull/92)
* Поддержка генератором тестовых данных создания группы [#90](https://github.com/bia-technologies/yaxunit/pull/90)
* Возможность создавать несколько конструкторов тестовых данных [#55](https://github.com/bia-technologies/yaxunit/pull/55)
* В конструктор тестовых данных добавлен метод заполнения обязательных полей фиктивными данными [#93](https://github.com/bia-technologies/yaxunit/pull/93)

### Мокито

* Использование предикатов при указании параметров мокируемого метода [#98](https://github.com/bia-technologies/yaxunit/pull/98)
* Исправлена ошибка неправильного сравнение параметров при проверке вызовов Мокито [#76](https://github.com/bia-technologies/yaxunit/pull/76). Спасибо [@alexandr-yang](https://github.com/alexandr-yang)
* Исправлена ошибка подбора реакции Мокито [#62](https://github.com/bia-technologies/yaxunit/pull/62)

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

* Утверждения для проверки таблиц информационной базы [#70](https://github.com/bia-technologies/yaxunit/pull/70)

### Запросы

* Расширение API для работы с запросами [#94](https://github.com/bia-technologies/yaxunit/pull/94)

### Прочее

* Добавлена картинка подсистемы 16*16 [#78](https://github.com/bia-technologies/yaxunit/pull/78). Спасибо [@petypen](https://github.com/petypen)
* Исправлены некоторые ошибки [#85](https://github.com/bia-technologies/yaxunit/pull/85). Спасибо [@potoyalo](https://github.com/potoyalo)
* Добавлена настройки выполнения на уровень модуля [#84](https://github.com/bia-technologies/yaxunit/pull/84)
35 changes: 35 additions & 0 deletions documentation/blog/2023/07/31-engine-release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
title: YaxUnit. Версия 23.07
authors: alkoleft
tags: [releases, yaxunit]
---

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

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

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

* Faker for YaxUnit (Генерация валидных бизнес), [#88](https://github.com/bia-technologies/yaxunit/issues/88), [#80](https://github.com/bia-technologies/yaxunit/issues/80). Спасибо [@Daabramov](https://github.com/Daabramov)

### Запросы

* Добавлены новые методы модуля ЮТЗапросы, [#122](https://github.com/bia-technologies/yaxunit/pull/122). Спасибо [@potoyalo](https://github.com/potoyalo)

### Прочее

* Переопределение обработчиков событий тестового модуля, [#124](https://github.com/bia-technologies/yaxunit/pull/124). Спасибо [@potoyalo](https://github.com/potoyalo)
* Необязательное значение дополнительного свойства [#106](https://github.com/bia-technologies/yaxunit/pull/106). Спасибо [@alexandr-yang](https://github.com/alexandr-yang)
* В репозиторий добавлена конфигурация для прогона тестов, [#123](https://github.com/bia-technologies/yaxunit/pull/123)

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

### Мокито

* Исправлена ошибка определения предикатов при обучении, [#108](https://github.com/bia-technologies/yaxunit/issues/108). Спасибо [@dlyubanevich](https://github.com/dlyubanevich)
* Исправлена ошибка анализа количества вызовов мокируемого метода, [#118](https://github.com/bia-technologies/yaxunit/pull/118)
* Исправлена ошибка при мокировании метода вызываемого при установке параметров сеанса, [#116](https://github.com/bia-technologies/yaxunit/issues/116)

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

* Исправлена ошибка проверки равенства значения соответствия, если ключом соответствия является не строка, [#114](https://github.com/bia-technologies/yaxunit/issues/114). Спасибо [@alexandr-yang](https://github.com/alexandr-yang)
6 changes: 6 additions & 0 deletions documentation/contributing/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,9 @@ sidebar_position: 1
# Руководство разработчика

Здесь будут собраны материалы по доработке тестового движка.

## Тестирование

Для прогона тестов используется [доработанная демо-конфигурация](https://github.com/bia-technologies/yaxunit/tree/develop/fixtures/demo-configuration) от фирмы [](https://github.com/1C-Company).

Вам необходимо импортировать ее в рабочую область и привязать к ней проект yaxunit, запустить тесты.
2 changes: 1 addition & 1 deletion documentation/docs/first-test.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
sidebar_position: 2
tags: [Getting started]
tags: [Начало]
---

# Пишем первый тест
Expand Down
2 changes: 1 addition & 1 deletion documentation/docs/install/install.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
sidebar_position: 1
tags: [Getting started]
tags: [Начало]
---

# Установка
Expand Down
Original file line number Diff line number Diff line change
@@ -1,26 +1,16 @@
---
tags: [Getting started, Asserts]
tags: [Начало, Утверждения]
---

# Утверждения
# Базовые утверждения

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

Для написания таких проверок реализован механизм утверждений, позволяющий в лаконичной форме описать свои ожидания, требования к результату.
Утверждения для проверки значений

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

## Особенности реализации утверждений

* Реализованы по модели [текучих выражений](https://ru.wikipedia.org/wiki/Fluent_interface), с целью повышения удобства и читаемости тестов

```bsl
ЮТест.ОжидаетЧто(Контекст)
.ИмеетТип("Структура")
.Свойство("ПрефиксОшибки").Равно("Контекст метода с параметрами")
.Свойство("ИмяМетода").Заполнено().Равно("МетодБезИсключение")
.Свойство("ПараметрыМетода").ИмеетТип("Массив").ИмеетДлину(1);
```
:::tip
Не рекомендуется обращаться к модулю `ЮТУтверждения` напрямую, используйте `ЮТест.ОжидаетЧто`
:::

* Реализован минимально необходимый набор проверок
* Большая часть методов - это сравнения фактического и ожидаемого результатов, но есть несколько методов настройки
Expand Down Expand Up @@ -92,6 +82,10 @@ tags: [Getting started, Asserts]
* `ЛюбойЭлементСодержитСвойство` - проверяет, что в коллекции есть элемент содержащий указанное свойство
* `ЛюбойЭлементСодержитСвойствоСоЗначением` - проверяет, что в коллекции есть элемент содержащий указанное свойство, которое равно ожидаемому значению

:::tip
Полный и актуальный набор методов смотрите в описании API
:::

### Проверка методов объекта

Для проверки работы методов объекта есть набор утверждений среди описанных выше (`ВыбрасываетИсключение` и `НеВыбрасываетИсключение`), но для их работы необходимо выполнить предварительные настройки.
Expand Down
44 changes: 44 additions & 0 deletions documentation/docs/user-api/assertions/assertions-db.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
tags: [Начало, Утверждения, ДанныеИБ]
---

# Утверждения для проверки данных информационной базы

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

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

Доступ к утверждениям обеспечивает метод `ЮТест.ОжидаетЧтоТаблицаБазы`, который возвращает инициализированный модуль `ЮТУтвержденияИБ`, реализующий работу с утверждениями для ИБ.

Утверждения позволяют проверить наличие и отсутствие записей по различным условиям, для задания условий используются [предикаты](../predicates.md)

```bsl
ЮТест.ОжидаетЧтоТаблицаБазы("Справочник.Товары")
.НеСодержитЗаписи(); // В базе нет товаров
ЮТест.ОжидаетЧтоТаблицаБазы("Справочник.Товары")
.СодержитЗаписи(); // В базе есть товары
ЮТест.ОжидаетЧтоТаблицаБазы("Справочник.Товары")
.СодержитЗаписи(ЮТест.Предикат() // В базе есть товары определенного поставщика
.Реквизит("Поставщик").Равно(ДанныеСправочника.Поставщик));
ЮТест.ОжидаетЧтоТаблицаБазы("РегистрСведений.КурсыВалют")
.НеСодержитЗаписи(ЮТест.Предикат() // Курс валюты не установлен
.Реквизит("Валюта").Равно(ДанныеРегистра.Валюта)
.Реквизит("Период").БольшеИлиРавно(ДанныеРегистра.Период));
```

## Доступные методы

* `СодержитЗаписи` - проверяет наличие записей по условиям
* `НеСодержитЗаписи` - проверяет отсутствие записей по условиям
* `СодержитЗаписиСНаименованием` - проверяет наличие в таблице записей с указанным наименованием
* `СодержитЗаписиСКодом` - проверяет наличие в таблице записей с указанным кодом
* `СодержитЗаписиСНомером` - проверяет наличие в таблице записей с указанным номером
* `НеСодержитЗаписиСНаименованием` - проверяет отсутствие в таблице записей с указанным наименованием
* `НеСодержитЗаписиСКодом` - проверяет отсутствие в таблице записей с указанным кодом
* `НеСодержитЗаписиСНомером` - проверяет отсутствие в таблице записей с указанным номером

:::tip

[Предлагайте](https://github.com/bia-technologies/yaxunit/issues) и [добавляйте](https://github.com/bia-technologies/yaxunit/pulls) свои утверждения

:::
26 changes: 26 additions & 0 deletions documentation/docs/user-api/assertions/assertions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
tags: [Начало, Утверждения]
---

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

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

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


Как и большая часть API, утверждения реализованы по модели [текучих выражений](https://ru.wikipedia.org/wiki/Fluent_interface), с целью повышения удобства и читаемости тестов

```bsl
ЮТест.ОжидаетЧто(Контекст)
.ИмеетТип("Структура")
.Свойство("ПрефиксОшибки").Равно("Контекст метода с параметрами")
.Свойство("ИмяМетода").Заполнено().Равно("МетодБезИсключение")
.Свойство("ПараметрыМетода").ИмеетТип("Массив").ИмеетДлину(1);
```

YaxUnit содержит утверждения для:

* Проверки [значений](assertions-base.md#доступные-методы)
* Проверки [методов объекта на выброс исключений](assertions-base.md#проверка-методов-объекта)
* Проверки [данных информационной базы](assertions-db.md)
Loading

0 comments on commit 078cdfc

Please sign in to comment.