# Elixir ტესტების ანალიტიკა {#elixir-test-insights}

Tuist-ის Hex პაკეტი ყოველი ტესტების გაშვების შემდეგ ატვირთავს თქვენი Elixir პროექტის ტესტების შედეგებს, რაც საშუალებას გაძლევთ პირდაპირ Tuist დაფზე დაინახოთ ტესტების შესრულება და არასტაბილური ტესტები.

> [!IMPORTANT]
> **მოთხოვნები**
>
> - დაასრულეთ <.localized_link href="/guides/get-started/elixir-project">Elixir-ით მუშაობის დაწყება</.localized_link>

## ატვირთეთ თქვენი ტესტების გაშვებები {#report-your-test-runs}

ზოგადი კონფიგურაცია აყენებს ტესტების ინტეგრაციას. განაგრძეთ `mix test`-ის გამოყენება იგივე არგუმენტებით, გამომავალი მონაცემებითა და გასვლის კოდით:

```bash
mix test test/my_app_test.exs:12 --trace
```

Tuist ატვირთავს გაშვების შედეგებს მისი დასრულებისას; დამატებითი ტესტის ალიასი არ არის საჭირო.

შეგიძლიათ მიუწვდეთ თქვენს ტესტების ანალიტიკას Tuist დაფზე და ნახოთ, როგორ იცვლება ის დროთა განმავლობაში:

![Phoenix აპლიკაციის ტესტების დაფა](/images/guides/features/elixir/tests-dashboard.png)

## რა ფიქსირდება {#what-is-tracked}

პაკეტი აგროვებს ExUnit-ის შედეგებს, მათ შორის:
- ცალკეული ტესტის წარმატებული/ჩავარდნილი სტატუსი და ხანგრძლივობა
- მოდული და `describe` ბლოკი, რომელსაც ეკუთვნის თითოეული ტესტი
- ყოველი ჩავარდნის შეტყობინება და მდებარეობა
- არასტაბილური ტესტების აღმოჩენა გაშვებებს შორის
- ბრენჩი და კომიტი, ხოლო უწყვეტი ინტეგრაციისას — პროვაიდერი და გაშვება
- უწყვეტი ინტეგრაციისას — ჩეკაუტის [Git ისტორია](#git-history)

Doctests იგივენაირად იგზავნება, როგორც ნებისმიერი სხვა ტესტი. `--cover`-ის გამოყენებისას ასევე იტვირთება გაშვების ხაზოვანი დაფარვა: იხილეთ <.localized_link href="/guides/features/test-code-coverage/elixir">Elixir კოდის დაფარვა</.localized_link>.

> [!NOTE]
> პაკეტი აგზავნის მონაცემებს ExUnit ფორმატერის მეშვეობით, რომელსაც ის ამატებს თქვენს მიერ უკვე გამოყენებულ ფორმატერებთან ერთად. თუ ბრძანების სტრიქონში გადასცემთ `--formatter`-ს, Mix ცვლის მთელ სიას, ამიტომ გაშვება არ იგზავნება და ამოცანა გაფრთხილებთ ამის შესახებ.

### Git ისტორია {#git-history}

უწყვეტი ინტეგრაციისას პაკეტი ასევე ატვირთავს ჩეკაუტის კომიტების ისტორიას: კომიტების SHA-ები, მათი მშობლები, კომიტების თარიღები და ბრენჩი, რომელზეც იყო გაშვება და მისი pull request-ის საბაზო ბრენჩი. არ იტვირთება ფაილების შინაარსი, კომიტების შეტყობინებები ან ავტორები. ეს ინფორმაცია ეუბნება Tuist-ს, რომელი კომიტები მოხვდა თქვენს საბაზო ბრენჩზე, მაგალითად, ისინი, რომლებიც merge queue-მ შეამოწმა. პაკეტი კითხულობს ჩეკაუტში უკვე არსებულ ისტორიას და როცა ჩეკაუტს არ აქვს საბაზო ბრენჩი, ითხოვს remote-დან მის უახლეს კომიტს (`git ls-remote`). კოდის დაფარვის (`--cover`) გარეთ, ისტორიას არ ითხოვს.

| ცვლადი | ეფექტი |
| --- | --- |
| `TUIST_GIT_UPLOAD_ENABLED=false` | არ კითხულობს და არ ტვირთავს Git-ის ისტორიას. |
| `TUIST_GIT_UNSHALLOW_ENABLED=false` | კითხულობს მხოლოდ ჩეკაუტს, remote-თან დაკავშირების გარეშე. |

## პრობლემების აღმოფხვრა {#troubleshooting}

ანგარიშგება არასდროს ცვლის თქვენი ტესტების შედეგს: თუ ანგარიშის გაგზავნა ვერ ხერხდება, გაშვება სრულდება ისე, როგორც ჩვეულებრივ, და არაფერი იბეჭდება. იმის სანახავად, რატომ ვერ გაიგზავნა ანგარიში, დააყენეთ `TUIST_DEBUG=1`:

```bash
TUIST_DEBUG=1 mix test
```
