Skip to content

Commit

Permalink
Assertions: fixes from code review
Browse files Browse the repository at this point in the history
Co-authored-by: Osip Fatkullin <[email protected]>
  • Loading branch information
sonulen and osipxd committed Apr 16, 2024
1 parent 9aae45a commit 4f1aae8
Show file tree
Hide file tree
Showing 9 changed files with 24 additions and 43 deletions.
14 changes: 4 additions & 10 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,13 @@ tags:
| `tags` | (опционально) Тэг | Любая строка |
| `featured` | (опционально, по умолчанию `true`) Если установить в `false` - страничку не будет видно на радаре, а только в [overview] | `true` или `false` |

Так как страничка - это `markdown` файл - можно вставлять картинки, для этого положи ее в `./public/images/` и добави ссылку:
Так как страничка - это `markdown` файл - можно вставлять картинки, для этого положи ее в `./public/images/` и добавь ссылку:

```markdown
![nice image](/images/nice-image.png)
```

Подробное описание лучше заполнять по следующему шаблону:
При добавлении новой страницы в радар, стоит следовать шаблону:

```markdown

Expand Down Expand Up @@ -77,24 +77,18 @@ tags:
При переводе технологии в `Adopt` - укажи, какие нашлись плюсы (это может быть что угодно).

При переводе в `Hold` - стоит заполнить следущий шаблон:
При переводе в `Hold` стоит заполнить следующий шаблон:

```markdown

Краткое описание, что используем вместо этой технологии/языка/библиотеки.

Если переезд легко формализуется в шаги, стоит описать их здесь.
В духе:
- добавить в проект новую зависимость
- переписать использование старой
- удалить старую зависимость
Так же это может быть ссылка на документацию по миграции, для примера можно посмотреть на accompanist insets.
Нюансы переезда на новую технологию или ссылка на документацию по миграции, для примера можно посмотреть на accompanist insets.

Допущения.
Для примера: отказываемся от AssertJ в пользу Kotest, но на java-проектах продолжаем использовать.

---

</br>

Любые другие подробности (могут отсутствовать).
Expand Down
26 changes: 13 additions & 13 deletions public/docs/assertions/assertj_kotest_compare.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

Рассмотрим три популярные библиотеки assertions - [JUnit][junit_radar], [AssertJ][assertj_radar] и [Kotest][kotest_radar], на основе следующих критериев:

- Интеграция с AS
- Интеграция с Android Studio
- Описание ошибки
- Читабельность
- Документация
- Сложные/вложенные структуры
- Поддержка фичей kotlin
- Cравнение сложных структур данных
- Поддержка фичей Kotlin

## jUnit
## JUnit

➕ Плюсы:

Expand Down Expand Up @@ -43,7 +43,7 @@
3. Сравнение сложных структур: есть `.usingRecursiveComparison()`, который хорошо сравнивает. Однако ошибку хотелось бы иметь поподробнее.
4. При использовании `assertSoftly` очень легко потерять `it` - вызвать `assertThat` вместо `it.assertThat` - и проверки будут работать в обычном режиме.

## Kotest
## Kotest Assertions

➕ Плюсы:

Expand All @@ -61,14 +61,14 @@

## Сравнительная таблица

| Критерий | jUnit | AssertJ | Kotest |
|--------------------------------|----------------------|------------------------|---------------------|
| Интеграция с AS | ⚠️ | ⚠️ ||
| Описание ошибки | ⚠️ | ⚠️ ||
| Читабельность ||||
| Документация | ➖ (сгенерированная) | ➕➖ (тяжело читается) | ➕➖ (нет примеров) |
| Сложные/вложенные структуры || ⚠️ ||
| Поддержка фичей kotlin ||||
| Критерий | JUnit | AssertJ | Kotest |
|-----------------------------------|----------------------|------------------------|---------------------|
| Интеграция с Android Studio | ⚠️ | ⚠️ ||
| Описание ошибки | ⚠️ | ⚠️ ||
| Читабельность ||||
| Документация | ➖ (сгенерированная) | ➕➖ (тяжело читается) | ➕➖ (нет примеров) |
| Cравнение сложных структур данных || ⚠️ ||
| Поддержка фичей kotlin ||||

[Примеры проверок каждой библиотеки][asserts_compare].

Expand Down
8 changes: 1 addition & 7 deletions radar/2022-04-08/assertj.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: AssertJ
ring: adotp
ring: adopt
quadrant: libraries
tags: [unit testing]

Expand All @@ -13,9 +13,3 @@ AssertJ - библиотека тестовых ассертов для язык
AssertJ также поддерживает цепочки методов, что упрощает написание сложных проверок в тестах.

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

📝 Полезные ссылки

- 🔒 База знаний: [Как написать первый тест](https://android.pages.redmadrobot.dev/knowledge/guide/testing/quickstart.html)
- 🔒 База знаний: [Тестовая инфраструктура](https://android.pages.redmadrobot.dev/knowledge/guide/testing/infra.html)
- 🔒 База знаний: [Глубокое погружение в тестирование](https://android.pages.redmadrobot.dev/knowledge/guide/testing/deep-dive.html)
2 changes: 0 additions & 2 deletions radar/2022-04-08/junit-assertion.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,3 @@ Junit Assertions также поддерживает работу с исклю
📝 Полезные ссылки:

- 🔒 База знаний: [Как написать первый тест](https://android.pages.redmadrobot.dev/knowledge/guide/testing/quickstart.html)
- 🔒 База знаний: [Тестовая инфраструктура](https://android.pages.redmadrobot.dev/knowledge/guide/testing/infra.html)
- 🔒 База знаний: [Глубокое погружение в тестирование](https://android.pages.redmadrobot.dev/knowledge/guide/testing/deep-dive.html)
2 changes: 0 additions & 2 deletions radar/2024-04-03/assertj.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ tags: [unit testing]
📝 Полезные ссылки

- 🔒 База знаний: [Как написать первый тест](https://android.pages.redmadrobot.dev/knowledge/guide/testing/quickstart.html)
- 🔒 База знаний: [Тестовая инфраструктура](https://android.pages.redmadrobot.dev/knowledge/guide/testing/infra.html)
- 🔒 База знаний: [Глубокое погружение в тестирование](https://android.pages.redmadrobot.dev/knowledge/guide/testing/deep-dive.html)

<!-- Links -->
[asserts_compare]: https://github.com/RedMadRobot/techradar-android/blob/40aa61ad9935816067f1b933b0529d77c187b9b9/public/docs/assertions/assertj_kotest_compare.md
6 changes: 3 additions & 3 deletions radar/2024-04-03/junit-assertion.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
title: JUnit assertions
ring: hold
title: JUnit
ring: adopt
quadrant: libraries
tags: [unit testing]

---

На основе [сравнения библиотек ассертов][asserts_compare] принято решение использовать [Kotest-assertions](/libraries/kotest-assertion/) для android/kotlin проектов.
На основе [сравнения библиотек ассертов][asserts_compare] принято решение использовать [Kotest assertions](/libraries/kotest-assertion/) для android/kotlin проектов.

<!-- Links -->
[asserts_compare]: https://github.com/RedMadRobot/techradar-android/blob/40aa61ad9935816067f1b933b0529d77c187b9b9/public/docs/assertions/assertj_kotest_compare.md
2 changes: 1 addition & 1 deletion radar/2024-04-03/junit.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: JUnit 5
ring: assess
quadrant: libraries
quadrant: languages-and-frameworks
tags: [unit testing]

---
Expand Down
4 changes: 1 addition & 3 deletions radar/2024-04-03/kotest-assertion.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Kotest assertions - это современная библиотека тест
Kotest assertions предоставляет широкий спектр методов для сравнения объектов, коллекций, строк, чисел и других типов данных.

Библиотека предлагает удобный и выразительный синтаксис, который помогает разработчикам писать чистый и понятный код тестов.
Кроме того, Kotest-assertions обладает расширяемым API, позволяющим добавлять собственные матчеры.
Кроме того, Kotest assertions обладает расширяемым API, позволяющим добавлять собственные матчеры.

➕ Плюсы:

Expand All @@ -33,8 +33,6 @@ Kotest assertions предоставляет широкий спектр мет

- [Сравнение библиотек ассертов для android проектов][asserts_compare]
- 🔒 База знаний: [Как написать первый тест](https://android.pages.redmadrobot.dev/knowledge/guide/testing/quickstart.html)
- 🔒 База знаний: [Тестовая инфраструктура](https://android.pages.redmadrobot.dev/knowledge/guide/testing/infra.html)
- 🔒 База знаний: [Глубокое погружение в тестирование](https://android.pages.redmadrobot.dev/knowledge/guide/testing/deep-dive.html)

<!-- Links -->
[asserts_compare]: https://github.com/RedMadRobot/techradar-android/blob/40aa61ad9935816067f1b933b0529d77c187b9b9/public/docs/assertions/assertj_kotest_compare.md
3 changes: 1 addition & 2 deletions radar/2024-04-03/kotest.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,4 @@ Kotest разделен на несколько самостоятельных

📝 Полезные ссылки:

- 🔒 База знаний: [Тестовая инфраструктура](https://android.pages.redmadrobot.dev/knowledge/guide/testing/infra.html)
- 🔒 База знаний: [Глубокое погружение в тестирование](https://android.pages.redmadrobot.dev/knowledge/guide/testing/deep-dive.html)
- 🔒 База знаний: [Как написать первый тест](https://android.pages.redmadrobot.dev/knowledge/guide/testing/quickstart.html)

0 comments on commit 4f1aae8

Please sign in to comment.