გადადით შინაარსზე

Elixir ტესტების ანალიტიკა

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

მოთხოვნები

ატვირთეთ თქვენი ტესტების გაშვებები#

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

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

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

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

Phoenix აპლიკაციის ტესტების დაფა

რა ფიქსირდება#

პაკეტი აგროვებს ExUnit-ის შედეგებს, მათ შორის:

  • ცალკეული ტესტის წარმატებული/ჩავარდნილი სტატუსი და ხანგრძლივობა
  • მოდული და describe ბლოკი, რომელსაც ეკუთვნის თითოეული ტესტი
  • ყოველი ჩავარდნის შეტყობინება და მდებარეობა
  • არასტაბილური ტესტების აღმოჩენა გაშვებებს შორის
  • ბრენჩი და კომიტი, ხოლო უწყვეტი ინტეგრაციისას — პროვაიდერი და გაშვება
  • უწყვეტი ინტეგრაციისას — ჩეკაუტის Git ისტორია

Doctests იგივენაირად იგზავნება, როგორც ნებისმიერი სხვა ტესტი. --cover-ის გამოყენებისას ასევე იტვირთება გაშვების ხაზოვანი დაფარვა: იხილეთ Elixir კოდის დაფარვა.

Note

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

Git ისტორია#

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

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

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

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

bash
TUIST_DEBUG=1 mix test